--- title: 使用光線事件 slug: Web/API/Ambient_Light_Events translation_of: Web/API/Ambient_Light_Events ---

{{ SeeCompatTable }}

摘要

環境光源 (Ambient light) 事件,可告知 Apps 或網頁目前光線強度的變化,以利做出反應,例如改變使用者介面 (User Interface,UI) 的顏色對比,或在拍照時改變曝光程度

光源事件

只要裝置的光線感測器偵測到光線強度變化,隨即通知瀏覽器。一旦瀏覽器取得該通知,就會發出 DeviceLightEvent 事件而提供光線強度的確實資訊。

只要使用 addEventListener 函式 (使用 {{event("devicelight")}} 事件名稱),或將事件處理器 (Event Handler) 附加至 window.ondevicelight 屬性,均可於 window 物件擷取到此事件。

一旦擷取完畢,則事件物件將透過 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');
  }
});

規格

Specification Status Comment
{{ SpecName('AmbientLight', '', 'Ambient Light Events') }} {{ Spec2('AmbientLight') }} Initial specification

瀏覽器相容性

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
{{domxref("DeviceLightEvent")}} {{CompatNo()}} {{CompatGeckoDesktop("22.0")}} (Mac OS X only) {{CompatNo()}} {{CompatNo()}} {{CompatNo()}}
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
{{domxref("DeviceLightEvent")}} {{CompatNo()}} {{CompatNo()}} {{CompatGeckoMobile("15.0")}} {{CompatNo()}} {{CompatNo()}} {{CompatNo()}}

Gecko 說明

已建構 {{event("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)。

另請參閱