bug*_*net 16 html5 cross-browser geolocation user-permissions w3c-geolocation
除了第一次设置cookie之外,有没有办法检测用户是否已经授予navigator.geolocation权限以返回浏览器的纬度/经度?
如果有,它是什么,所有浏览器是一样的,还是所有浏览器都不同?
根据GeoLocation API - Chrome/Safari - 权限管理和视觉差异,Chrome要求获得可撤销的一次性权限.我还没有读完这篇文章,但似乎存储权限并不是纯粹的Chrome操作.
Meh*_*sly 24
那么使用localStorage应该是所有html5浏览器都支持的(支持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;
}
Run Code Online (Sandbox Code Playgroud)
然后使用以下功能检查:
alert(checkauthorizedGeoLocation());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5334 次 |
| 最近记录: |