【问题标题】: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。是不是我做错了什么?

谢谢!

【问题讨论】:

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

标签: javascript html safari geolocation w3c-geolocation


【解决方案1】:

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

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

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

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

【讨论】:

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

不,你的代码是正确的

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 2013-04-17
    • 1970-01-01
    • 2023-01-28
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多