检查用户浏览器中是否已关闭位置设置

我想隐藏()或show()一个按钮,允许用户根据他们当前是否允许在浏览器设置中使用位置来使用他们的当前位置。 以下代码仅检查浏览器是否支持地理定位,而不检查特定用户是否允许地理定位。

if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else { x.innerHTML="Geolocation is not supported by this browser.";} } 

是否有一个布尔值,我可以检测他们的浏览器设置,让我知道当前是否允许位置?

谢谢你的任何建议。

你读过http://www.w3schools.com/html/html5_geolocation.asp吗?

您要做的是检查错误以查看是否允许或拒绝请求。

 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 + "
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; } }

以下代码将允许您检查权限状态,而无需在Chrome 43+和Firefox 46+上调用navigator.geolocation权限请求

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

这是参考链接