Überprüfen Sie, ob die Standorteinstellung im Browser des Benutzers deaktiviert wurde
Lesezeit: 2 Minuten
Tom
Ich möchte eine Schaltfläche ausblenden () oder anzeigen (), die es Benutzern ermöglicht, ihren aktuellen Standort zu verwenden, je nachdem, ob sie derzeit die Verwendung des Standorts in ihren Browsereinstellungen zulassen oder nicht. Der folgende Code überprüft nur, ob der Browser die Geolokalisierung unterstützt und nicht, ob der bestimmte Benutzer dies zulässt oder nicht.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML="Geolocation is not supported by this browser.";}
}
Gibt es einen booleschen Wert, den ich für ihre Browsereinstellung erkennen kann, der mich informiert, ob der Standort derzeit zulässig ist?
Was Sie tun möchten, ist, die Fehler zu überprüfen, um festzustellen, ob sie die Anfrage zugelassen oder abgelehnt haben.
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition,showError);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
}
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
}
}
GPS wird in meinem Browser unterstützt, aber ich habe es deaktiviert. In diesem Fall bekomme ich nichts. Wie soll ich erkennen, ob der Standort deaktiviert ist oder nicht?
– Rahul Sharma
30. August ’18 um 10:34
Noushad
Mit dem folgenden Code können Sie den Berechtigungsstatus überprüfen, ohne die navigator.geolocation Erlaubnisanfrage.
Die Kompatibilität mit anderen Browsern ist nicht bekannt. Ich habe es nicht selbst getestet, aber bitte testen Sie selbst und kommentieren Sie unten.
Was ist mit anderen Browsern wie IE/Safari/Opera?
– Shivek Parmar
27. Okt ’17 um 8:42
Derzeit wird es in diesen Browsern nicht unterstützt. Ich aktualisiere die Antwort mit einem Referenzlink.
– Noushad
27. Okt ’17 um 14:28
Mit dieser Antwort kann nur der Benutzerberechtigungsstatus für die aktuellen Site-Einstellungen überprüft werden. Aber es wird zurückkehren 'granted' Ereignis, wenn der Benutzer diese Prüfberechtigung für diese Site erteilt hat, jedoch nicht für den Browser. Eine mögliche Lösung finden Sie in dieser Antwort.
– Nickensoul
11. März ’21 um 12:21
.
4516200cookie-checkÜberprüfen Sie, ob die Standorteinstellung im Browser des Benutzers deaktiviert wurdeyes