地理位置 API 权限 Web 浏览器
Posted
技术标签:
【中文标题】地理位置 API 权限 Web 浏览器【英文标题】:Geolocation API Permissions Web Browser 【发布时间】:2011-06-02 14:56:35 【问题描述】:我正在使用此代码来获取用户地理位置。一切顺利,直到用户拒绝获取位置的权限。这个选项似乎被缓存了,我不知道如何重置它。
有没有办法重新申请许可?提前致谢!
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(function(position)
// Success Callback
, function(error)
//error Callback
,
//options
);
else
//geolocation not available
【问题讨论】:
【参考方案1】:很确定这是每个站点存储的浏览器/设备设置。我认为关键是您不能从脚本中重置它,因为它首先会破坏提示的要点。我相信重置的唯一方法是更改浏览器/设备中的设置。
【讨论】:
【参考方案2】:就像 bgreater 所说,这取决于浏览器。但是当用户拒绝获取位置的权限时,将使用错误对象调用错误函数。此错误对象包含错误代码。当错误码等于1时,表示用户拒绝权限。
var errorTypes =
0: "Unknown error",
1: "Permission denied by user",
2: "Position is not available",
3: "Request timed out"
;
我认为,您可以检查此错误代码并向用户显示某种信息。
【讨论】:
以上是关于地理位置 API 权限 Web 浏览器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Web 应用程序中请求用户对 html5 地理位置 api 的权限?
在 .net 核心 web api 中存储 JWT 令牌的位置?
当移动设备处于睡眠模式或浏览器处于后台时,如何使用 Web 应用程序在移动浏览器中使用 HTML Geolocation API 获取位置?