我正在处理的网站使用HTML5地理定位API。它工作正常,但我需要知道该功能是否已被授权
navigator.geolocation
仅告知功能是否可用。我想知道的是用户是否已经启用它。基本上,我需要知道浏览器是否会请求使用该功能的权限。有可能吗?
答案 0 :(得分:6)
如果用户不允许您的应用使用Geolocation API,方法getCurrentPosition
和watchPosition
将通过错误回调返回PositionError对象:
void getCurrentPosition(successCallback,
errorCallback,
options);
long watchPosition(successCallback,
errorCallback,
options);
PositionError看起来像:
PositionError {
code;
message;
};
代码的可能值为:
PositionError.PERMISSION_DENIED = 1;
PositionError.POSITION_UNAVAILABLE = 2;
PositionError.TIMEOUT = 3;
更具体:
文档here。
答案 1 :(得分:3)
没有检查永久授权。
您可以做的唯一事情是尝试“猜测”用户是否已通过估计时间进行授权。
例如:
检索地理定位超过1.5秒 - >可能是用户得到的 单击界面并授予身份验证
小于500毫秒 - >非常确定用户已经授予了auth