【问题标题】:HTML5 Geolocation different in Chrome and FirefoxChrome 和 Firefox 中的 HTML5 地理位置不同
【发布时间】:2012-03-26 11:07:07
【问题描述】:

我正在尝试 HTML5 中的 GeoLocation 功能。例如,我试过这个:html5demos.com,当在 Ubuntu 下使用 Firefox 10.0.2 打开它时,我发现我不在一个城市。使用 Chrome,它可以正确定位我。找到我的城市离我所在的城市很远,尽管我一个月前就在那个城市。

有人知道会发生什么吗? HTML5-Geolocation(从编程的角度)如何工作,在这方面可能会失败?

【问题讨论】:

标签: html geolocation


【解决方案1】:

我验证了同样的效果。 Chrome 将我钉在离得太近的地方……可怕的接近。 而 Firefox 错过了大约 500 英里和整个州。

那是什么?

当您深入研究 HTML5 geoLocation 文档时,您会发现 API 根据定义与您的 geoLocation 服务的来源无关。

它可以是一个支持 GPS 的设备,它可以是一个蜂窝塔网络,它可以是通过 WIFI 热点,也可以是通过 Geo-IP。

因此,以此为背景,我提出了 Chrome 使用 WIFI 热点但 Firefox 正在回退到 GeoIP 的假设。 (许多网站很容易为您提供 GeoIP……果然,我的 GeoIP 出现在俄勒冈州胡德或远离我真实所在的某个地方。- 我猜这要怪 ISP。)

因此,有了这些信息,当我使用 Firefox 测试我的地理位置时,果然:Hood Oregon。

但正如我所说,当我使用 Chrome 测试我的地理位置时:几乎可以找到。

到目前为止我还没有提到,但对我的假设至关重要的是,到目前为止,我一直在使用支持 WIFI 的笔记本电脑进行测试。

开始测试 2:

在笔记本电脑上禁用WIFI,通过以太网线将笔记本电脑连接到路由器,然后使用Chrome重复上述geoLocation测试。

结果:Chrome 将我置于 Firefox 的位置,远在 Hood Oregon。

经验结论:

Chrome 会使用 WIFI 热点(如果可用)计算您的地理位置,而 Firefox 则不会。

HTML5 GeoLocation API 确实有一个“高精度”标志,默认设置为 False。也许就像 Chrome 将其设置为 True 一样简单,而 FireFox 则没有。

后续问题:

如何窥探数据流来验证这一点?

【讨论】:

  • 我刚刚启用了“enableHighAccuracy”标志,Chrome 和 Firefox 之间仍有大约 850 米的差异。打开或关闭标志没有区别。
猜你喜欢
  • 2012-08-04
  • 2011-07-22
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多