HTMLGeolocationElement: permissionStatus-Eigenschaft
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die schreibgeschützte Eigenschaft permissionStatus der HTMLGeolocationElement-Schnittstelle gibt einen enumerierten Wert zurück, der den aktuellen Berechtigungsstatus für die geolocation-Funktion darstellt.
Wenn Sie den anfänglichen Berechtigungsstatus für die geolocation-Funktion abrufen möchten, wie er beim ersten Laden der Seite war, verwenden Sie die initialPermissionStatus-Eigenschaft.
Wert
Ein enumerierter Wert, der einer der folgenden sein kann:
granted-
Der Benutzer hat dem Browser die Erlaubnis erteilt, die
geolocation-Funktion zu verwenden, entweder über das<geolocation>-Element oder einen anderen Mechanismus. Beim Verwenden des<geolocation>-Elements bedeutet dies, dass der Benutzer den gerenderten Button gedrückt und eine "Erlauben"-Option gewählt hat, woraufhin der Browser beginnt, Standortdaten anzufordern. denied-
Der Benutzer hat dem Browser die Erlaubnis zur Nutzung der
geolocation-Funktion verweigert, entweder über das<geolocation>-Element oder einen anderen Mechanismus. Beim Verwenden des<geolocation>-Elements bedeutet dies, dass der Benutzer den gerenderten Button gedrückt und eine Option "Nicht erlauben" gewählt hat, woraufhin der Browser nicht versucht, Standortdaten anzufordern, bis der Benutzer den Button erneut drückt und eine "Erlauben"-Option wählt. prompt-
Der Benutzer hat nicht speziell die Erlaubnis zur Nutzung der
geolocation-Funktion gewährt oder verweigert, was bedeutet, dass der Browser erst Standortdaten anfordert, wenn die Erlaubnis erteilt wird. Beim Verwenden des<geolocation>-Elements bedeutet dies, dass der Benutzer den gerenderten Button noch nicht gedrückt hat. Wenn sie es tun, erhalten sie die Option, die Erlaubnis für den Browser zur Standortdatenanforderung zu gewähren oder zu verweigern.
Der Berechtigungsstatus bleibt zwischen Seitenladevorgängen bestehen. Wenn das <geolocation>-Element sein autolocate-Attribut auf true gesetzt hat und die Berechtigung zuvor erteilt wurde, beginnt der Browser sofort mit der Anforderung von Standortdaten, sobald das <geolocation>-Element gerendert wird, ohne dass der Benutzer den Button drücken muss.
Beispiele
>Grundlegende Verwendung
<geolocation></geolocation>
const geo = document.querySelector("geolocation");
console.log(geo.permissionStatus);
// "prompt" if this is the first time the user has accessed this page
Verwendung des Berechtigungsstatus zur Information des Benutzers
In unserem Eingebettete Karte-Beispiel (Quellcode) fügen wir einen promptaction-Ereignislistener zu dem HTMLGeolocationElement-Objekt hinzu, das unser <geolocation>-Element darstellt.
geo.addEventListener("promptaction", notifyUserGrantPermission);
In der referenzierten notifyUserGrantPermission()-Funktion verwenden wir die permissionStatus-Eigenschaft, um zu überprüfen, ob der Berechtigungsstatus denied oder prompt ist und bitten in diesem Fall den Benutzer, den Button erneut zu drücken und die Standorterlaubnis zu erteilen. Dies ist nicht notwendig, wenn sie die Erlaubnis gewähren.
function notifyUserGrantPermission() {
if (geo.permissionStatus === "denied" || geo.permissionStatus === "prompt") {
statusElem.textContent =
'Please press the "Use location" button again and allow location for this site.';
}
}
Sehen Sie die Hauptseite HTMLGeolocationElement für eine vollständige Einführung in dieses Beispiel.
Spezifikationen
| Specification |
|---|
| The HTML Permission Elements> # dom-inpagepermissionmixin-permissionstatus> |
Browser-Kompatibilität
Siehe auch
<geolocation>-Element