Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Utiliser les événements de luminosité

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

Résumé

Les événements concernant la lumière environnante permettent à une application de percevoir simplement les changements de luminosité dans l'environnement de l'appareil. L'application peut donc ainsi réagir aux changements de luminosité : par exemple changer le contraste de l'interface ou changer l'exposition lors de la prise d'une photo.

Les événements liés à la lumière

Lorsque le capteur de lumière détecte un changement de luminosité, il envoie une notification au navigateur. Lorsque le navigateur reçoit une notification, il déclenche un événement DeviceLightEvent qui fournit des informations sur la valeur exacte de l'intensité lumineuse.

Cet événement peut être capturé au niveau de l'objet window en utilisant la méthode addEventListener (en utilisant le nom d'événement devicelight) ou en attachant le gestionnaire d'événément à la propriété window.ondevicelight.

Une fois qu'il a été capturé, l'événement permet un accès à la valeur de l'intensité lumineuse, exprimée en lux avec la propriété DeviceLightEvent.value.

Exemple

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');
  }
});

Spécifications

Spécification Statut Commentaires
Ambient Light Events
La définition de 'Ambient Light Events' dans cette spécification.
Candidate Recommendation Spécification initiale

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
DeviceLightEvent Pas de support 22.0 (22.0) (Mac OS X seulement) Pas de support Pas de support Pas de support
Fonctionnalité Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
DeviceLightEvent Pas de support Pas de support 15.0 (15.0) Pas de support Pas de support Pas de support

Notes relatives à Gecko

L'événement devicelight est implémenté et activé par défaut via un paramètre dans Firefox Mobile pour Android (15.0) et dans Firefox OS (B2G). Une implémentation pour un navigateur de bureau sur Mac OS X est également disponible à partir de Gecko 22.0 (Firefox 22.0 / Thunderbird 22.0 / SeaMonkey 2.19). Le support pour Windows 7 est en cours de progression (voir bug 754199).

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : Goofy, SphinxKnight
 Dernière mise à jour par : Goofy,