除了第一次设置cookie之外,有没有办法检测用户是否已经允许navigator.geolocation返回浏览器的纬度/经度?
Apart from setting a cookie the first time round, is there a way of detecting whether a user has already given permission for navigator.geolocation to return the lat/long of the browser?
如果有,它是什么?它在所有浏览器中都相同还是在所有浏览器中不同?
If there is, what is it and is it the same across all browsers or different across all browsers?
此主题已在其他地方部分回答
根据 GeoLocation API – Chrome/Safari – 权限管理和视觉差异,Chrome 请求可撤销的一次性权限.我还没有读完这篇文章,但似乎权限存储并不是纯 Chrome 要做的事情.
According to GeoLocation API – Chrome / Safari – Permission management and Visual Differences, Chrome asks for a revokable one-time permission. I haven't finished reading the article, but it would seem that storage of permissions is not a purely-Chrome thing to do.
如何使用localStorage 应该被所有html5浏览器支持(支持geoLocation)
What about using localStorage which should be supported by all html5 browsers (that support geoLocation)
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}
//Get latitude and longitude;
function successFunction(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
localStorage['authorizedGeoLocation'] = 1;
}
function errorFunction(){
localStorage['authorizedGeoLocation'] = 0;
}
function checkauthorizedGeoLocation(){ // you can use this function to know if geoLocation was previously allowed
if(typeof localStorage['authorizedGeoLocation'] == "undefined" || localStorage['authorizedGeoLocation'] == "0" )
return false;
else
return true;
}
然后您使用以下功能进行检查:
And then you check using the below function :
alert(checkauthorizedGeoLocation());
这是 jsfiddle 如果您需要检查
这篇关于有没有办法检测用户是否已经授予使用 navigator.geolocation 的权限?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
Angular 2:在本地 .json 文件中找不到文件Angular 2: file not found on local .json file(Angular 2:在本地 .json 文件中找不到文件)
使用模式 Angular 2 进行输入验证Input validation with pattern Angular 2(使用模式 Angular 2 进行输入验证)
如何在角度2中动态更改css类名How to change the css class name dynamically in angular 2(如何在角度2中动态更改css类名)
如何删除输入类型中的默认颜色?How to remove default color in input type?(如何删除输入类型中的默认颜色?)
如何将点击事件添加到打字稿中动态添加的html元How to add click event to dynamically added html element in typescript(如何将点击事件添加到打字稿中动态添加的html元素)
XPath 具有条件的多个属性值之一XPath one of multiple attribute values with condition(XPath 具有条件的多个属性值之一)