? ? ? ? HTML5環境傳感器由[Sensor API](https://dvcs.w3.org/hg/dap/raw-file/tip/sensor-api/Overview.html)描述和定義,包含了6種常見的傳感器類型:

? ? ??它們分別代表溫度(攝氏度)、氣壓(千帕)、濕度(百分比)、光線(lux ,勒克司)、聲音(分貝)、臨近(厘米)。
? ? ??HTML5傳感器目前討論的比較多的是DeviceOrientationEvent運動傳感器和方向傳感器,而Sensor API的詳細內容在國內很少有相關的文章提及。下面我對其中的光線傳感器進行一個簡單介紹,讓大家先窺HTML5 Sensor API的一貌。
? ? ??[光線傳感器規范](#)還是內部討論的W3C工作草案,定義了通過了光線傳感器測量周圍光線水平的方式,包括2個接口,LightLevelEvent提供了簡單的光線級別分類,而DeviceLightEvent接口以[光照度lux](http://baike.baidu.com/view/855640.htm)為單位,描述了環境光線的詳細信息。

不同的光照度
? ? ??**一、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的開發者又將實現更多好玩的創意,讓我們的生活更加便利和有趣。

植物大戰僵尸的夜間模式
? ? ??請注意,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)
- 前言
- AutoPager的簡單實現
- 利用CSS3特性巧妙實現漂亮的DIV箭頭
- IE9在Win7下任務欄新特性簡介
- 瀏覽器九宮格的簡單實現
- Raphael js庫簡介
- 使用CSS3構建Ajax加載動畫
- 用CSS3創建動畫價格表
- 用CSS3實現瀏覽器的縮放功能
- 用純CSS3實現QQ LOGO
- 用CSS3創建旋轉載入器
- 使用Javascript開發移動應用程序
- 用HTML5創建超酷圖像灰度漸變效果
- 使用CSS3創建文字顏色漸變(CSS3 Text Gradient)
- 僅用CSS創建立體旋轉幻燈片
- 如何創建跨瀏覽器的HTML5表單
- 用CSS3實現動畫進度條
- HTML5 Guitar Tab Player
- 奇妙的HTML5 Canvas動畫實例
- 談HTML5和CSS3的國際化支持
- 實現跨瀏覽器的HTML5占位符
- 前端開發必備工具:WhatFont Bookmarklet-方便的查詢網頁上的字體
- 使用HTML5和CSS3來創建幻燈片
- HTML5之美
- 如何使用HTML5創建在線精美簡歷
- 以小見大、由淺入深-談如何面試Javascript工程師
- 快速入門:HTML5強大的Details元素
- 用CSS3實現圖像風格
- HTML5視頻字幕與WebVTT
- 用純CSS3實現Path華麗動畫
- 用3個步驟實現響應式網頁設計
- 遇見CSS3濾鏡
- 關于CSS3濾鏡的碎念
- 用純CSS3繪制萌系漫畫人物動態頭像
- CSS3新的鼠標樣式介紹
- 用HTML5獻上愛的3D玫瑰
- 對HTML5 Device API相關規范的解惑
- 如何使用HTML5實現拍照上傳應用
- 2012第一季度國外HTML5移動開發趨勢
- HTML5新特性:范圍樣式
- 百度開發者大會-《用HTML5新特性開發移動App》PPT分享
- Chrome 19對于HTML5最新支持的動態:電池狀態API,全屏API,震動API,語音API
- 遇見Javascript類型數組(Typed Array)
- 用HTML5 Audio API開發游戲音樂
- 用HTML5實現人臉識別
- 用Javascript實現人臉美容
- Chrome 20對于HTML5最新支持的動態:顏色輸入,網絡信息API,CSS著色器
- 用HTML5實現手機搖一搖的功能
- 用HTML5實現iPad應用無限平滑滾動
- 用非響應式設計構建跨端Web App
- 了解SVG
- HTML5圖像適配介紹
- HTML5安全:內容安全策略(CSP)簡介
- HTML5安全:CORS(跨域資源共享)簡介
- 用CSS3 Region和3D變換實現書籍翻頁效果
- 談談移動App的思維誤區
- Chrome新特性:文件夾拖拽支持
- 《關注HTML5安全》
- HTML5安全風險詳析之一:CORS攻擊
- HTML5安全風險詳析之二:Web Storage攻擊
- HTML5圖像適配最新進展:響應式圖片規范草案
- HTML5移動Web App相關標準狀態及路線圖
- HTML5安全風險詳析之三:WebSQL攻擊
- Chrome引入WebRTC支持視頻聊天App
- HTML5安全風險詳析之四:Web Worker攻擊
- HTML5安全風險詳析之五:劫持攻擊
- HTML5安全風險詳析之六:API攻擊
- HTML5安全攻防詳析之七:新標簽攻擊
- 在iOS Safari中播放離線音頻
- 使用WebRTC實現遠程屏幕共享
- Firefox、Android、iOS遇見WebRTC
- HTML5光線傳感器簡介
- HTML5安全攻防詳析之八:Web Socket攻擊
- HTML5安全攻防詳析之完結篇:HTML5對安全的改進
- 激動人心!在網頁上通過語音輸入文字 - HTML5 Web Speech API介紹
- Web滾動性能優化實戰
- 用CSS3設計響應式導航菜單
- 用HTML5構建高性能視差網站
- 漫談@supports與CSS3條件規則
- HTML5下載屬性簡介
- 如何開發優秀的HTML5游戲?-迪斯尼《尋找奧茲之路》游戲技術詳解(一)
- 如何開發優秀的HTML5游戲?-迪斯尼《尋找奧茲之路》游戲技術詳解(二)
- 趨勢:Chrome為打包應用提供強大新特性
- 從HTML5移動應用現狀談發展趨勢
- 基于HTML5的Web跨設備超聲波通信方案