浏览器 API 之光照传感器
2017-02-17 23:41
#旧文章
本文翻译自 MDN,原文版本为 Aug 30, 2016, 4:10:41 AM
警告
这是一个实验性技术
鉴于这一个技术还没有成熟,请参考下面的兼容性列表。同时请注意该规范在未来可能会更新以致现在的语法不再适用。
通过光照事件可以使网页或应用感知到环境光强度的变化,并使其做出相应的动作,例如改变其 UI 的对比度。
光照事件
当光照传感器感知到一个新的亮度等级时,浏览器会得知这一信息。当浏览器收到这一信息后,浏览器就会发出一个带着这些信息的 DeviceLightEvent。
这一事件可以通过 addEventListener 方法在 window 对象上捕捉到(事件名为 devicelight)。你也可以通过添加一个事件处理函数到 window.ondevicelight 属性上。
一旦捕捉到这一事件,可以通过 DeviceLightEvent.value 这一属性获得光照强度。以 lux 作为单位。
示例
规范
规范 | 状态 | 备注 |
---|---|---|
Ambient Light Sensor | 草案 | 原始定义 |
兼容性
桌面系统
特性 | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
DeviceLightEvent | 不支持 | 22.0 (22.0)1 | 不支持 | 不支持 | 不支持 |
- 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 上仍未实现。参见 bug 754199。
手机系统
特性 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
DeviceLightEvent | 不支持 | 支持 | 15.0 (15.0)1 | 不支持 | 不支持 | 不支持 |