Ambient Light Events

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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

Опис події

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

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

Після перехоплення об'єкт події надає доступ до інтенсивності світла, вираженої у lux через властивість 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 не підтримується');
}

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

Специфікація Статус Коментар
Ambient Light Sensor
The definition of 'Ambient Light Events' in that specification.
Candidate Recommendation Initial definition

Сумісність

BCD tables only load in the browser

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