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 de proximité permettent, simplement, de savoir lorsqu'un utilisateur est près de l'appareil. Ces événements permettent de réagir par rapport à cette proximité, par exemple en éteignant l'écran lorsqu'un utilisateur est en train de passer un appel téléphonique et que l'appareil est près de l'oreille.
Note : Bien entendu, il faut un capteur de proximité pour que cette API fonctionne, ceux-ci sont généralement disponibles sur les appareils mobile. Les appareils ne disposant pas d'un tel capteur pourront supporter de tels événements, ils seront en revanche incapables de les déclencher.
Événements de proximité
Lorsque le capteur de l'appareil détecte un changement entre l'appareil et l'objet, il informe le navigateur de ce changement en lui envoyant une notification. Lorsque le navigateur reçoit une notification comme celle-ci, il déclenche un événement DeviceProximityEvent
à chaque fois qu'il y a un changement et un événement UserProximityEvent
dans le cas où un changement plus brutal se produit.
Cet événement peut être capturé en utilisant un objet au niveau window
en utilisant la méthode addEventListener
(en utilisant les noms d'événements deviceproximity
ou userproximity
) ou en attachant un gestionnaire d'événement à la propriété window.ondeviceproximity
ou à la propriété window.onuserproximity
.
Une fois qu'il a été capturé, l'événement donne accès à différentes informations :
- L'événement
DeviceProximityEvent
permet de connaître la distance exacte entre l'appareil et l'objet avec sa propriétévalue
. Il fournit également la distance la plus courte et la distance la plus grande que l'appareil peut détecter avec les propriétésmin
etmax
. - L'événement
UserProximityEvent
fournit une valeur approximative pour la distance en utilisant un booléen. La propriétéUserProximityEvent.near
vauttrue
si l'objet est proche oufalse
si l'objet est loin.
Exemple
window.addEventListener('userproximity', function(event) { if (event.near) { // extinction de l'écran navigator.mozPower.screenEnabled = false; } else { // allumage de l'écran navigator.mozPower.screenEnabled = true; } });
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
Proximity Events | Candidate Recommendation | Spécification initiale |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
DeviceProximityEvent |
Pas de support | (Oui) | Pas de support | Pas de support | Pas de support |
UserProximityEvent |
Pas de support | (Oui) | Pas de support | Pas de support | Pas de support |
Fonctionnalité | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
DeviceProximityEvent |
Pas de support | Pas de support | 15.0 (15.0) | Pas de support | Pas de support | Pas de support |
UserProximityEvent |
Pas de support | Pas de support | (Oui) | Pas de support | Pas de support | Pas de support |