Firefox 中的地理定位并不总是有效

Firefox 中的地理定位并不总是有效

我有一台装有 OS X 10.6 和 Firefox 3.6.8 的 MacBook Pro。我正在开发一个使用 HTML5 地理定位的网站。我注意到它并不总是有效。它会挂起很长时间,或者如果我超时,它会运行错误回调。

这种情况似乎发生在我短时间内多次重新加载页面时,就像我测试网站时有时做的那样。如果我重新启动 Firefox,它会在一段时间内正常工作,但最终会停止工作。这种情况不仅仅发生在我的网站上。我可以看到同样的事情发生在此测试页或任何其他使用此功能的网站。

如果我尝试在不同的浏览器中访问同一个网站,它运行良好。在 Chrome 中,它立即运行。在 Safari 中,可能需要一些时间,但通常可以运行。

有谁知道为什么会发生这种情况,或者最终用户或 Web 开发人员可以做些什么?这在 Firefox 用户中很常见吗?我发现这个问题Stack Overflow 上对此有所暗示,我问这个问题在 MozillaZine 论坛上,但我没有得到任何答案。我想我可能在这里会有点运气。

答案1

我猜 Firefox 会不断从某些具有滥用保护功能的 Web 服务获取其位置信息。因此,在频繁请求位置信息后,它会限制您的请求,以免服务器过载。最终结果是,如果您过于频繁地请求位置信息,它将不再起作用。

或者它可能是 Firefox 内置的类似机制,这可以解释为什么它在重新启动 Firefox 后可以工作。

或者...它只是 Firefox 中的一个错误,这也是一种可能性,因为它是一个相当新的功能 ;)

Firefox 源代码中定义了一个限制,但由于这个限制很高,我怀疑这是一个错误:http://mxr.mozilla.org/mozilla-central/source/dom/src/geolocation/nsGeolocation.cpp#96

答案2

Firefox 显然存在一个已知问题:
当 Firefox 中的身份验证代理处于后面时 geo-location-javascript 会冻结

这是你的情况吗?你是否使用了身份验证代理?

相关内容