HTMLGeolocationElement: permissionStatus-Eigenschaft
Die permissionStatus-Eigenschaft des HTMLGeolocationElement-Interfaces zum Nur-Lesen gibt einen enumerierten Wert zurück, der den aktuellen Berechtigungsstatus für das geolocation-Feature darstellt.
Wenn Sie auf den anfänglichen Berechtigungsstatus für das geolocation-Feature zugreifen 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 die Berechtigung für den Browser erteilt, das
geolocation-Feature zu nutzen, entweder über das<geolocation>-Element oder einen anderen Mechanismus. Bei der Verwendung des<geolocation>-Elements bedeutet dies, dass der Benutzer den angezeigten Button gedrückt und eine "Erlauben"-Option ausgewählt hat, woraufhin der Browser beginnt, Standortdaten anzufordern. denied-
Der Benutzer hat die Berechtigung für den Browser abgelehnt, das
geolocation-Feature zu nutzen, entweder über das<geolocation>-Element oder einen anderen Mechanismus. Bei der Verwendung des<geolocation>-Elements bedeutet dies, dass der Benutzer den angezeigten Button gedrückt und eine "Nicht erlauben"-Option ausgewählt hat. Der Browser wird keine Standortdaten anfordern, bis der Benutzer den Button erneut drückt und eine "Erlauben"-Option auswählt. prompt-
Der Benutzer hat weder speziell die Berechtigung erteilt noch abgelehnt, dass der Browser das
geolocation-Feature nutzen darf, was bedeutet, dass der Browser keine Standortdaten anfordern wird, bis sie die Berechtigung erteilen. Bei der Verwendung des<geolocation>-Elements bedeutet dies, dass der Benutzer den angezeigten Button noch nicht gedrückt hat. Wenn er dies tut, erhält er die Option, die Berechtigung zu erteilen oder abzulehnen, dass der Browser Standortdaten anfragt.
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 angezeigt wird, ohne dass der Benutzer den Button drücken muss.
Beispiele
>Grundlegende Nutzung
<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 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. Falls ja, bitten wir den Benutzer, den Button erneut zu drücken und die Erlaubnis zu erteilen. Wenn sie die Erlaubnis erteilen, müssen wir nicht mehr fragen.
function notifyUserGrantPermission() {
if (geo.permissionStatus === "denied" || geo.permissionStatus === "prompt") {
statusElem.textContent =
'Please press the "Use location" button again and allow location for this site.';
}
}
Die Hauptseite HTMLGeolocationElement bietet eine vollständige Anleitung zu diesem Beispiel.
Spezifikationen
This feature does not appear to be defined in any specification.>Browser-Kompatibilität
Siehe auch
<geolocation>-Element