Firefox 11 和 GeoLocation 拒绝回调

Posted

技术标签:

【中文标题】Firefox 11 和 GeoLocation 拒绝回调【英文标题】:Firefox 11 and GeoLocation denial callback 【发布时间】:2012-03-19 11:34:03 【问题描述】:

Firefox 10.x 一切正常,但升级到 Firefox 11 时出现问题。

我用

navigator.geolocation.getCurrentPosition(success, failure)

但在FF11中,当用户通过选择“Not Now”拒绝共享位置时,不会执行失败回调。

有什么建议吗?

【问题讨论】:

你确定它在 FF10 中有效吗?其标记为 WONTFIX ; bugzilla.mozilla.org/show_bug.cgi?id=675533 嗯.. 不确定,我可能已经从 FF9 升级到 FF11。浏览器版本不再是以前的版本了.. ;-) @Srirangan Firefox 在这里的行为一直都是一样的。 “Not Now”不是否认,而是延迟,所以它不会触发事件。自从地理定位 API 登陆 Gecko 以来,情况就一直如此 【参考方案1】:

好的,所以现在的答案是:“不可能,Firefox 在设计上不会触发失败事件。围绕这个约束构建您的应用程序。”

【讨论】:

【参考方案2】:

实际上,只有单击从不共享位置,您才会在 Firefox 中收到错误回调。

因为当您点击Not now(或只是关闭弹窗)时,您仍然可以点击地址栏中的位置图标并稍后允许。

(在FF28上测试)

编辑:这是一个demo,介绍如何使用 Firefox 的特殊注释检测位置。

【讨论】:

以上是关于Firefox 11 和 GeoLocation 拒绝回调的主要内容,如果未能解决你的问题,请参考以下文章

navigator.geolocation.getCurrentPosition 不适用于 Firefox

navigator.Geolocation GetCurrentpositon 不适用于 Chrome 和 Firefox

Firefox 在其请求中为 HTML5 GeoLocation 数据发送啥?

Google HTML 5 Geolocation“使用我的位置”仅适用于 Firefox

如何在 Firefox 中调试 Geolocation API?

navigator.geolocation.getCurrentPosition的回调没有在firefox中触发