mozilla

Revision 433423 of Utiliser les événements de luminosité

  • Raccourci de la révision : WebAPI/Utiliser_les_événéments_de_luminosité
  • Titre de la révision : Utiliser les événements de luminosité
  • ID de la révision : 433423
  • Créé :
  • Créateur : SphinxKnight
  • Version actuelle ? Non
  • Commentaire
Étiquettes : 

Contenu de la révision

{{SeeCompatTable }}

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 {{domxref("DeviceLightEvent")}} qui fournit des informations sur l'intensité lumineuse 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 {{domxref("EventTarget.addEventListener","addEventListener")}} (en utilisant le nom d'événement {{event("devicelight")}}) ou en attachant le gestionnaire d'événément à la propriété {{domxref("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é {{domxref("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
{{ SpecName('AmbientLight', '', 'Ambient Light Events') }} {{ Spec2('AmbientLight') }} Spécification initiale

Compatibilité des navigateurs

{{ CompatibilityTable() }}

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

Notes relatives à Gecko

L'événement {{event("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 {{geckoRelease("22.0")}}. Le support pour Windows 7 est en cours de progression (voir {{bug(754199)}}).

Voir aussi

  • {{domxref("DeviceLightEvent")}}
  • {{event("devicelight")}}

Source de la révision

<p>{{SeeCompatTable }}</p>
<h2 id="R.C3.A9sum.C3.A9">Résumé</h2>
<p>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.</p>
<h2 id="Les_.C3.A9v.C3.A9nements_li.C3.A9s_.C3.A0_la_lumi.C3.A8re">Les événements liés à la lumière</h2>
<p>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 {{domxref("DeviceLightEvent")}} qui fournit des informations sur l'intensité lumineuse sur la valeur exacte de l'intensité lumineuse.</p>
<p>Cet événement peut être capturé au niveau de l'objet <code>window</code> en utilisant la méthode {{domxref("EventTarget.addEventListener","addEventListener")}} (en utilisant le nom d'événement {{event("devicelight")}}) ou en attachant le gestionnaire d'événément à la propriété {{domxref("window.ondevicelight")}}.</p>
<p>Une fois qu'il a été capturé, l'événement permet un accès à la valeur de l'intensité lumineuse, exprimée en <a href="http://fr.wikipedia.org/wiki/Lux_%28unit%C3%A9%29" title="http://en.wikipedia.org/wiki/Lux">lux</a> avec la propriété {{domxref("DeviceLightEvent.value")}}.</p>
<h2 id="Exemple">Exemple</h2>
<pre class="brush: js">
window.addEventListener('devicelight', function(event) {
  var html = document.getElementsByTagName('html')[0];

  if (event.value &lt; 50) {
    html.classList.add('darklight');
    html.classList.remove('brightlight');
  } else {
    html.classList.add('brightlight');
    html.classList.remove('darklight');
  }
});</pre>
<h2 id="Specifications" name="Specifications">Spécifications</h2>
<table class="standard-table" height="49" width="1000">
  <thead>
    <tr>
      <th scope="col">Spécification</th>
      <th scope="col">Statut</th>
      <th scope="col">Commentaires</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>{{ SpecName('AmbientLight', '', 'Ambient Light Events') }}</td>
      <td>{{ Spec2('AmbientLight') }}</td>
      <td>Spécification initiale</td>
    </tr>
  </tbody>
</table>
<h2 id="Compatibilit.C3.A9_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Fonctionnalité</th>
        <th>Chrome</th>
        <th>Firefox (Gecko)</th>
        <th>Internet Explorer</th>
        <th>Opera</th>
        <th>Safari</th>
      </tr>
      <tr>
        <td>{{domxref("DeviceLightEvent")}}</td>
        <td>{{CompatNo()}}</td>
        <td>{{CompatGeckoDesktop("22.0")}} (Mac OS X seulement)</td>
        <td>{{CompatNo()}}</td>
        <td>{{CompatNo()}}</td>
        <td>{{CompatNo()}}</td>
      </tr>
    </tbody>
  </table>
</div>
<div id="compat-mobile">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Fonctionnalité</th>
        <th>Android</th>
        <th>Chrome for Android</th>
        <th>Firefox Mobile (Gecko)</th>
        <th>IE Mobile</th>
        <th>Opera Mobile</th>
        <th>Safari Mobile</th>
      </tr>
      <tr>
        <td>{{domxref("DeviceLightEvent")}}</td>
        <td>{{CompatNo()}}</td>
        <td>{{CompatNo()}}</td>
        <td>{{CompatGeckoMobile("15.0")}}</td>
        <td>{{CompatNo()}}</td>
        <td>{{CompatNo()}}</td>
        <td>{{CompatNo()}}</td>
      </tr>
    </tbody>
  </table>
</div>
<h3 id="Notes_relatives_.C3.A0_Gecko">Notes relatives à Gecko</h3>
<p>L'événement {{event("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 {{geckoRelease("22.0")}}. Le support pour Windows 7 est en cours de progression (voir {{bug(754199)}}).</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
  <li>{{domxref("DeviceLightEvent")}}</li>
  <li>{{event("devicelight")}}</li>
</ul>
Revenir à cette révision