这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀.由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变.
概述
环境光线事件是一个易用的让网页或应用感知光强变化的方法。它使网页或应用能对光强变化做出反应,例如改变用户界面的颜色对比度,或为拍照改变曝光度。
光线事件
当设备的光线传感器检测到光强等级的变化时,它会通知浏览器这个改变。当浏览器得到这个通知后会发布一个提供光强信息的DeviceLightEvent事件。
想要捕获这个事件,可用addEventListener方法把事件处理器绑定到window上(使用devicelight事件名),或者直接把事件处理器赋给window.ondevicelight属性。
该事件被捕捉后,可以从传入的事件对象上的DeviceLightEvent.value属性获取光强(lux)。
示例
window.addEventListener('devicelight', function(event) {
var html = document.getElementsByTagName('html')[0];
if (event.value < 50) {
html.classList.add('darklight');
html.classList.remove('brightlight');
} else {
html.classList.add('brightlight');
html.classList.remove('darklight');
}
});
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| Ambient Light Events Ambient Light Events |
Candidate Recommendation | 首次定义 |
浏览器兼容性
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
DeviceLightEvent |
未实现 | 22.0 (22.0) (Mac OS X only) | 未实现 | 未实现 | 未实现 |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
DeviceLightEvent |
未实现 | 未实现 | 15.0 (15.0) | 未实现 | 未实现 | 未实现 |
Gecko备注
devicelight事件在Firefox Mobile for Android (15.0)和Firefox OS (B2G)上实施并默认可用。从Gecko 22.0 (Firefox 22.0 / Thunderbird 22.0 / SeaMonkey 2.19)开始,Mac OS X桌面版也可使用该事件。对Windows 7的支持还在进展中 (see bug 754199).