Bre*_*ody 6 javascript safari geolocation
我正在构建一个需要获取用户位置的应用程序。为此,我将一个单击事件附加到一个按钮,然后调用
navigator.geolocation.getCurrentPosition(getVenues, handleError);
Run Code Online (Sandbox Code Playgroud)
这在 Chrome 和 Firefox 上按预期工作,并且该getVenues函数在我授予对我的位置的访问权限后运行。在 Safari 上,授予访问权限后handleError会立即调用该函数。
这种情况发生在我的本地服务器和生产服务器上,它们都使用 HTTPS。我的电脑有 wifi 连接。Safari 版本 9.1.2 (11601.7.7)。我浏览了一些与 Safari 中的地理定位相关的其他帖子,但到目前为止,没有一个解决方案有效。
我尝试过传递选项来getCurrentPosition增加timeout但maximumAge没有运气。
这是我的完整代码示例:
$("#nearby-find").on('click', function() {
navigator.geolocation.getCurrentPosition(getVenues, handleError);
});
var getVenues = function(position) {
console.log(position);
};
var handleError = function(error) {
console.log(error);
}
Run Code Online (Sandbox Code Playgroud)
单击该按钮将启动地理位置访问请求,但在单击“接受”后立即handleError调用该函数,并显示错误代码 2(位置不可用)。
我需要检查 Safari 地理定位是否存在其他问题/错误/陷阱?
Safari 不在系统偏好设置的启用位置服务列表中的应用程序列表中。您需要进入“系统偏好设置”>“安全和隐私”>“隐私”选项卡,并确保 Safari 位于“启用位置服务”列表中。
| 归档时间: |
|
| 查看次数: |
3836 次 |
| 最近记录: |