为啥地理定位在 Safari 桌面中失败?

Posted

技术标签:

【中文标题】为啥地理定位在 Safari 桌面中失败?【英文标题】:Why is geolocate failing in safari desktop?为什么地理定位在 Safari 桌面中失败? 【发布时间】:2013-07-10 15:35:02 【问题描述】:

我尝试使用地理定位,它适用于我所有的浏览器,除了 safari。

这是我正在运行的脚本。

if (navigator.geolocation) 
    navigator.geolocation.getCurrentPosition(function (location) 
        console.log('success');
    , function () 
        console.log('error');
    );
 else 
    console.log('denied');

I've created a fiddle for this as well

我在 Windows 7 pro 上运行 safari 5.1.7。是不是我做错了什么?

谢谢!

【问题讨论】:

看看这是否有帮助:***.com/questions/5256123/… 很遗憾,它仍然无法通过 wifi。 我也刚刚验证了它可以在 OSX 上的 Safari 上运行。 定义“失败”。发生什么了?错误消息会触发吗?被拒绝的消息会触发吗? (值得注意的是,Apple 不再支持 Windows 版 Safari,所以我预计它的用户群会不断缩小,并且未修补安全漏洞,因此我会给予它与 IE6/7 一样多的支持) 系统提示我输入我的位置,然后当我单击“允许”时,会记录错误消息。这也发生在wifi上。它在 OSX 中没有问题 【参考方案1】:

我没有答案。只是想用一些小片段添加一点“我也是”。

这很奇怪。多年来,我对这个功能没有任何问题,有线、wifi 等等。

现在它刚刚开始失败(Mac Snow Leopard,Safari 5.1.10)。指向小提琴的链接失败,谷歌的示例失败,我自己多年来一直运行良好的代码也失败了。有时是错误代码 2,有时只是超时。 (我使用的超时时间为 60000 - 一分钟)。

在其他浏览器上运行良好。连接到完全相同的无线网络的 ios Safari 也没有问题。

【讨论】:

我们不应该添加+1,但这确实也影响了我,而且莫名其妙。相同类型的问题,总是代码 2,只有 safari,实际上每个使用地理定位的网站,你有没有想过这个问题? 我希望我有好消息,但没有。而且我已经有一段时间没有使用地理定位了,所以不确定这个问题的状态。【参考方案2】:

不,你的代码是正确的

实际上,所有浏览器都可以获取地理位置,但如果您使用有线连接,则只有 Safari 浏览器无法获取地理位置,但如果您使用 wifi,那么它会起作用。

我不知道为什么这个问题只发生在 safari 浏览器中。我有同样的问题,如果有人找到替代方式,我会尝试其他方式来获取地理位置,然后请在堆栈溢出时发布。

【讨论】:

以上是关于为啥地理定位在 Safari 桌面中失败?的主要内容,如果未能解决你的问题,请参考以下文章

Safari 中的 html5 地理定位错误

地理定位在 Safari 5.1.7 中不起作用

W3C 地理定位 API 在 Safari 5 上不起作用

使用 html5 进行地理定位

HTML 5 地理定位在 Safari 中不起作用

Chrome 地理定位在更新后停止工作