mvi*_*okx 6 safari jquery html5 ruby-on-rails geolocation
我正在开发一个使用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});),实际上它一直在超时,无论我设置多高所以它永远不会从Google地理定位服务返回,但为什么呢?
小智 3
尝试打开你的无线网络。Safari 似乎依赖 wi-fi 连接来工作。我遇到了完全相同的问题,打开我的无线网络连接,它工作得很好。
我现在正在研究如何检测这个问题 - 如果找到解决方案,我会更新
| 归档时间: |
|
| 查看次数: |
4787 次 |
| 最近记录: |