Überprüfen Sie, ob die Standorteinstellung im Browser des Benutzers deaktiviert wurde

Lesezeit: 2 Minuten

Uberprufen Sie ob die Standorteinstellung im Browser des Benutzers deaktiviert
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?

danke für alle vorschläge.

Uberprufen Sie ob die Standorteinstellung im Browser des Benutzers deaktiviert
Bot

Hast du gelesen http://www.w3schools.com/html/html5_geolocation.asp

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

1641994492 167 Uberprufen Sie ob die Standorteinstellung im Browser des Benutzers deaktiviert
Noushad

Mit dem folgenden Code können Sie den Berechtigungsstatus überprüfen, ohne die navigator.geolocation Erlaubnisanfrage.

Unterstützte Browser: Chrome (43+), Firefox (46+), Edge und Opera.

Nicht unterstützt: Safari (Mac, iOS), Internet Explorer, Android-Webansicht.

    navigator.permissions && navigator.permissions.query({name: 'geolocation'})
    .then(function(PermissionStatus) {
        if (PermissionStatus.state == 'granted') {
              //allowed
        } else if (PermissionStatus.state == 'prompt') {
              // prompt - not yet grated or denied
        } else {
             //denied
        }
    })

Hier ist der Referenzlink.

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


.

451620cookie-checkÜberprüfen Sie, ob die Standorteinstellung im Browser des Benutzers deaktiviert wurde

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy