--- title: Ambient Light Events slug: Web/API/Ambient_Light_Events translation_of: Web/API/Ambient_Light_Events ---
{{DefaultAPISidebar("Ambient Light Events")}}{{SeeCompatTable}}

Ambient Light Events - це зручний спосіб реагувати на будь-які зміни інтенсивності світла, наприклад, змінюючи кольорову контрастність інтерфейсу користувача (UI) або змінюючи експозицію, необхідну для фотографування.

Опис події

Коли датчик освітленості пристрою виявляє зміну рівня освітленості, він повідомляє браузер про цю зміну. Браузер, після отримання такого сповіщення, запускає подію {{domxref ("DeviceLightEvent")}}, яка надає інформацію про точну інтенсивність світла (в одиницях люкс).

Цю подію можна перехопити на рівні об'єкту window за допомогою методу {{domxref ("EventTarget.addEventListener", "addEventListener")}} (використовуючи назву події {{event ("devicelight")}}) або прикріпивши обробку події як властивість {{domxref ("window.ondevicelight")}}.

Після перехоплення об'єкт події надає доступ до інтенсивності світла, вираженої у {{interwiki ("wikipedia", "lux")}} через властивість {{domxref ("DeviceLightEvent.value")}}.

Приклад

if ('ondevicelight' in window) {
  window.addEventListener('devicelight', function(event) {
    var body = document.querySelector('body');
    if (event.value < 50) {
      body.classList.add('darklight');
      body.classList.remove('brightlight');
    } else {
      body.classList.add('brightlight');
      body.classList.remove('darklight');
    }
  });
} else {
  console.log('Подія devicelight не підтримується');
}

Специфікація

Специфікація Статус Коментар
{{SpecName("AmbientLight", "", "Ambient Light Events")}} {{Spec2("AmbientLight")}} Initial definition

Сумісність

{{Compat("api.DeviceLightEvent")}}

Дивіться також