jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – Geolocation在Windows 7 / XP上的Safari 5.x上无效大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个使用W3C标准地理定位API的应用程序,但我不能在我的生活中让它在我的 Windows 7和XP PC上运行Safari.它在我的iPad和iPhone上运行良好.它也适用于Chrome(5,6,7和Canary版本)以及Firefox(3.6).我没有Mac,所以我无法测试它. IE不支持地理位置,因此也涵盖了.

我创建了一个精简版本,我将其托管在Google Apps ENGIne上,以便您查看代码http://html5-geolocator.appspot.com/.所有(简化的)javascript都在html中,因此您应该能够右键单击并调试/查看源代码.

它几乎是对Google Map API DevGuide上的示例的直接转换.有趣的是,Google托管的示例在Windows 7上的Safari 5.0.x中也不起作用(但它们在所有其他平台上都能正常工作,与我的应用程序相同),例如http://code.google.com/apis/maps/documentation/javascript/examples/map-geolocation.html显示与我的APP完全相同的问题,没有地图出现,网页只是保持灰色.

通过一些调试(警告(“我在这里”):-)似乎在Safari中,它确实执行了navigator.geoLOCATIOn.getCurrentPosition(myCallBACk),但它似乎永远不会到达myCallBACk ……好像它永远不会从getCurrentPosition返回.我还看到,如果我在一夜之间打开浏览器窗口,当我早上回到它时,会出现警报和地图(然并非总是如此).我还尝试添加一个errorCallBACk navigator.geoLOCATIOn.getCurrentPosition(myCallBACk,errorCallBACk),但它也从未执行过,再次暗示它永远不会从getCurrentPosition调用返回.

有人想知道为什么会这样吗?

编辑:
做了一些测试,我添加了超时选项(navigator.geoLOCATIOn.getCurrentPosition(myCallBACk,errorCallBACk,{timeout:5000});),实际上它一直超时,无论我设置多高,所以它永远不会从谷歌地理定位服务返回,但为什么???

解决方法

尝试打开你的Wi-Fi.似乎Safari依靠Wi-Fi连接工作.
我遇到了完全相同的问题,打开了我的Wi-Fi连接并完美运行.

我现在正在研究如何检测这一点 – 如果我找解决方案,将会更新

大佬总结

以上是大佬教程为你收集整理的jquery – Geolocation在Windows 7 / XP上的Safari 5.x上无效全部内容,希望文章能够帮你解决jquery – Geolocation在Windows 7 / XP上的Safari 5.x上无效所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。