Ambient Light Events

Experimental

Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

События "окружающего света" -  удобный способ уведомить веб-страницу или приложение о каком-либо изменении интенсивности света. Это позволяет им реагировать на такое изменение, например, путём изменения цветового контраста пользовательского интерфейса (UI) или путём изменения экспозиции, необходимой для фотографирования.

Световые события

Когда датчик света устройства обнаруживает изменение уровня освещённости, он уведомляет браузер об этом изменении. Когда браузер получает такое уведомление, он вызывает DeviceLightEvent (en-US) событие, которое предоставляет информацию о точной интенсивности света.

Это событие может быть захвачено на уровне объектом окна, используя метод addEventListener  (используя имя события devicelight ) или путём присоединения обработчика событий к свойству window.ondevicelight (en-US).

После того, как захвачен объект события даёт доступ к интенсивности света, выраженного в lux через свойство DeviceLightEvent.value (en-US).

Пример

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
Ambient Light Sensor
Определение 'Ambient Light Events' в этой спецификации.
Кандидат в рекомендации Initial definition

Поддержка браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
DeviceLightEvent (en-US) Нет 22.0 (22.0)[1] Нет Нет Нет
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
DeviceLightEvent (en-US) Нет support 15.0 (15.0)[1] Нет Нет Нет

[1] Событие devicelight реализуется и включено по умолчанию в Firefox Mobile для Android (15.0) и в Firefox OS (B2G). Начиная с Gecko 22.0(Firefox 22.0 / Thunderbird 22.0 / SeaMonkey 2.19) реализация рабочего стола для Mac OS X также доступна. Поддержка Windows 7 находится в стадии разработки (см. баг 754199).

Смотрите также