HTML5光线传感器简介
最后更新于:2022-04-01 19:44:49
HTML5环境传感器由[Sensor API](https://dvcs.w3.org/hg/dap/raw-file/tip/sensor-api/Overview.html)描述和定义,包含了6种常见的传感器类型:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9aa57009a0.jpg)
它们分别代表温度(摄氏度)、气压(千帕)、湿度(百分比)、光线(lux ,勒克司)、声音(分贝)、临近(厘米)。
HTML5传感器目前讨论的比较多的是DeviceOrientationEvent运动传感器和方向传感器,而Sensor API的详细内容在国内很少有相关的文章提及。下面我对其中的光线传感器进行一个简单介绍,让大家先窥HTML5 Sensor API的一貌。
[光线传感器规范](#)还是内部讨论的W3C工作草案,定义了通过了光线传感器测量周围光线水平的方式,包括2个接口,LightLevelEvent提供了简单的光线级别分类,而DeviceLightEvent接口以[光照度lux](http://baike.baidu.com/view/855640.htm)为单位,描述了环境光线的详细信息。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9aa5717bb1.jpg)
不同的光照度
**一、DeviceLightEvent接口**
DeviceLightEvent提供了环境光线的精确值,结果以lux(勒克司,为距离一个光强为1cd的光源,在1米处接受的照明强度)为单位。
它包含一个属性和一个事件:
- 属性value - 返回当前环境光线的强度值。
- 事件ondevicelight - 如果光线变化,会触发此事件。
需要注意的是由于检测方法、传感器结构的不同,不同的设备在同一环境下的返回值可能有所差异。
**二、LightLevelEvent接口**
LightLevelEvent接口提供周围环境的光线水平分级,主要包括三个范围的内容:dim-昏暗,normal-正常和bright明亮。其实它相当于一个简单的判断,让开发者可以很方便的区分这三种常见的光线状态。
它也包含一个属性和一个事件:
- 属性value-返回当前环境光线的强度水平,dim、normal或者bright。
- 事件onlightlevel -如果光线水平变化,会触发此事件。
如何区分昏暗、正常和明亮的光线水平呢?规范定义昏暗是指光照度小于50 lux的环境,正常代表50到10000 lux之间,而明亮则是大于10000 lux。
考虑一下,利用光照传感器Web App可以实现的有趣功能包括哪些?例如在页游里可以根据光照度自动变换场景模式、阅读App可以根据光照度自动变换背景色,进入白天或者夜晚模式…可以预见,在不久的将来,利用这些奇妙的传感器属性,Web App的开发者又将实现更多好玩的创意,让我们的生活更加便利和有趣。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9aa572bb6b.jpg)
植物大战僵尸的夜间模式
请注意,Sensor API和DeviceLightEvent定义了浏览器的实现形式和开发者的调用形式,但是它们目前仅仅是工作组草案,未来形式和定义有可能随时发生变化。
相关文章:《[对HTML5 Device API相关规范的解惑](http://blog.csdn.net/hfahe/article/details/7338032)》
《[用HTML5实现手机摇一摇的功能](http://blog.csdn.net/hfahe/article/details/7516317)》
《[百度开发者大会:用HTML5新特性开发移动App](http://blog.csdn.net/hfahe/article/details/7388938)》
原创文章,转载请标明出处:[蒋宇捷的专栏](http://blog.csdn.net/hfahe)(http://blog.csdn.net/hfahe)
';