我正在尝试HTML5中的GeoLocation功能.我试过这个例子:html5demos.com,当在Ubuntu下使用Firefox 10.0.2打开它时,我找到了一个我不在的城市.使用Chrome,它可以正确找到我.我所在的城市离我所在的城市很远,即使我一个月前在那个城市.
任何人都知道会发生什么?HTML5-Geolocation(从编程的角度来看)如何工作,在这方面可能会失败?
小智 5
我验证了同样的效果.Chrome把我钉在了太近的地方......吓人的.虽然Firefox错过了大约500英里和整个州.
什么给出了什么?
当您深入了解HTML5 geoLocation文档时,您会发现API根据定义与您的geoLocation服务的来源无关.
它可以是支持GPS的设备,可以是Cell塔网络,可以通过WIFI热点,也可以通过Geo-IP.
因此,作为背景,我形成了Chrome使用WIFI热点但Firefox正在回归GeoIP的假设.(很多网站都会很容易地给你一个GeoIP ......果然,我的GeoIP出现在Hood Oregon或者远离我真正的地方. - 我猜想这会归咎于ISP.)
所以有了这些信息,当我使用Firefox测试我的geoLocation时,果然:Hood Oregon.
但正如我所说,当我使用Chrome测试我的geoLocation时:实际发现.
到目前为止我还没有提到,但对我的假设至关重要的是,直到这个时候,我一直在使用支持WIFI的笔记本电脑进行测试.
在测试2:
在笔记本电脑上禁用WIFI,通过以太网电缆将笔记本电脑连接到路由器,然后使用Chrome重复上述geoLocation测试.
结果:Chrome把我放在Firefox所做的地方,远在Hood Oregon.
实证结论:
Chrome会根据可用的WIFI热点计算您的地理位置,而Firefox则不会.
HTML5 GeoLocation API具有"高精度"标志,默认情况下设置为False.也许它就像Chrome将其设置为True一样简单,而FireFox则不然.
后续问题:
如何窥探数据流以验证这一点?