HTMLGeolocationElement : propriété permissionStatus
Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.
La propriété en lecture seule permissionStatus de l'interface HTMLGeolocationElement retourne une valeur énumérée représentant l'état d'autorisation actuel pour la fonctionnalité geolocation.
Si vous souhaitez accéder à l'état initial d'autorisation pour la fonctionnalité geolocation tel qu'il était lors du premier chargement de la page, utilisez la propriété initialPermissionStatus.
Valeur
Une valeur énumérée, qui peut être :
granted-
L'utilisateur·ice a accordé l'autorisation au navigateur d'utiliser la fonctionnalité
geolocation, soit par l'élément HTML<geolocation>, soit par un autre mécanisme. Lors de l'utilisation de l'élément<geolocation>, cela signifie que l'utilisateur·ice a appuyé sur le bouton affiché et sélectionné l'option « autoriser », à ce moment le navigateur commence à demander les données de localisation. denied-
L'utilisateur·ice a refusé l'autorisation au navigateur d'utiliser la fonctionnalité
geolocation, soit par l'élément<geolocation>, soit par un autre mécanisme. Lors de l'utilisation de l'élément<geolocation>, cela signifie que l'utilisateur·ice a appuyé sur le bouton affiché et sélectionné l'option « ne pas autoriser », à ce moment le navigateur ne demandera pas les données de localisation tant que l'utilisateur·ice n'aura pas appuyé à nouveau sur le bouton affiché et sélectionné l'option « autoriser ». prompt-
L'utilisateur·ice n'a pas spécifiquement accordé ni refusé l'autorisation au navigateur d'utiliser la fonctionnalité
geolocation, ce qui signifie que le navigateur ne demandera pas les données de localisation tant qu'il·elle n'aura pas accordé l'autorisation. Lors de l'utilisation de l'élément<geolocation>, cela signifie que l'utilisateur·ice n'a pas encore appuyé sur le bouton affiché. Lorsqu'il·elle le fera, il·elle aura la possibilité d'accorder ou de refuser l'autorisation au navigateur de demander les données de localisation.
L'état d'autorisation persiste entre les chargements de page. Si l'élément <geolocation> possède l'attribut autolocate défini sur true, et que l'autorisation a déjà été accordée, le navigateur commencera à demander les données de localisation dès que l'élément <geolocation> s'affiche, sans que l'utilisateur·ice ait besoin d'appuyer sur le bouton.
Exemples
>Exemple simple
<geolocation></geolocation>
const geo = document.querySelector("geolocation");
console.log(geo.permissionStatus);
// "prompt" si c'est la première fois que l'utilisateur·ice accède à cette page
Utiliser l'état d'autorisation pour informer l'utilisateur·ice
Dans notre exemple de carte intégrée (angl.) (code source (angl.)), nous ajoutons un écouteur d'évènement promptaction à l'objet HTMLGeolocationElement représentant notre élément <geolocation>.
geo.addEventListener("promptaction", notifyUserGrantPermission);
Dans la fonction référencée notifyUserGrantPermission(), nous utilisons la propriété permissionStatus pour vérifier si l'état d'autorisation est denied ou prompt et, le cas échéant, nous demandons à l'utilisateur·ice d'appuyer à nouveau sur le bouton et d'autoriser la localisation. Il n'est pas nécessaire de demander cela si l'autorisation est accordée.
function notifyUserGrantPermission() {
if (geo.permissionStatus === "denied" || geo.permissionStatus === "prompt") {
statusElem.textContent =
"Veuillez appuyer à nouveau sur le bouton « Utiliser la localisation » et autoriser la localisation pour ce site.";
}
}
Voir la page principale HTMLGeolocationElement pour une explication complète de cet exemple.
Spécifications
| Specification |
|---|
| Unknown specification> # dom-inpagepermissionmixin-permissionstatus> |
Compatibilité des navigateurs
Voir aussi
- L'élément HTML
<geolocation>