火狐浏览器:navigator.geolocation.getCurrentPosition无法成功获取位置信息

4

在一个应用程序中,调用navigator.geolocation.getCurrentPosition在所有主要的浏览器上都能正常工作。但是最近重新检查应用程序时,我发现Firefox不再工作了(仍然可以在Chrome上工作;其他浏览器未经测试)

有其他问题也涉及到同样的事情,Molochdaanoxoc。两者都有一个演示用的fiddle。但对我来说都不起作用(只有FF有问题,Chrome没问题)。

由于我们的代码大约半年没有更改,可能Firefox发生了什么问题吗?

代码:

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(
        onSuccessGeoLocation, onFailGeoLocation, 
        { timeout:10000 });
}
else {
    onFailGeoLocation();
}

我收到了错误信息:“地理位置:权限被拒绝:1,位置不可用:1,超时:3”,在弹出窗口上点击“分享”时会收到此信息。请帮我解决这个问题。

你可以展示你的代码吗?你添加了错误回调吗?如果有的话,回调的响应是什么?你尝试在其他电脑上吗?另一个猜测是,你“拒绝”了该站点获取你的地理位置。同时,值得注意的是,navigator.geolocation.getCurrentPosition曾经在所有主流浏览器上都能工作,但可能不太准确。IE8及以下版本以及Opera 15均不支持此函数。请参考:https://developer.mozilla.org/en-US/docs/Web/API/Geolocation.getCurrentPosition - Raptor
这与链接中的内容大致相同。 - Carl K.
权限被拒绝。请检查您的Firefox设置。 - Raptor
1个回答

0
你使用的是哪个操作系统/ Firefox 版本?我在 Linux Mint 15 上使用 Firefox 24 时遇到了同样的问题。我只是将版本降级到 Firefox 20,现在它可以正常工作了。 在 Windows 或 Android 上,我没有任何问题。看起来是 Linux/Firefox 的问题。

1
Mozilla自己的演示在我的Ubuntu/Firefox 25.0.1上无法工作,http://www.mozilla.org/en-US/firefox/geolocation/#geo-demo - Robban

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接