Jquery 地理位置不适用于Windows 7/XP上的Safari 5.x

Jquery 地理位置不适用于Windows 7/XP上的Safari 5.x,jquery,ruby-on-rails,html,safari,geolocation,Jquery,Ruby On Rails,Html,Safari,Geolocation,我正在开发一个使用W3C标准地理定位API的应用程序,但我一辈子都无法让它在我的Windows 7和XP PC上的Safari上运行。它在我的iPad和iPhone上运行良好。它在Chrome(5、6、7和金丝雀版本)和Firefox(3.6)上也能完美运行。我没有Mac电脑,所以不能在上面测试。IE还不支持地理定位,所以这也包括在内 我创建了一个精简版,并将其托管在谷歌应用程序引擎上,以便您可以查看代码:。所有(简化的)javascript都在html中,因此您应该能够右键单击并调试/查看源代

我正在开发一个使用W3C标准地理定位API的应用程序,但我一辈子都无法让它在我的Windows 7和XP PC上的Safari上运行。它在我的iPad和iPhone上运行良好。它在Chrome(5、6、7和金丝雀版本)和Firefox(3.6)上也能完美运行。我没有Mac电脑,所以不能在上面测试。IE还不支持地理定位,所以这也包括在内

我创建了一个精简版,并将其托管在谷歌应用程序引擎上,以便您可以查看代码:。所有(简化的)javascript都在html中,因此您应该能够右键单击并调试/查看源代码

这几乎是一个直接转换的例子上。有趣的是,谷歌正在托管的示例在Windows7上的Safari 5.0.x中也不起作用(但它们在所有其他平台上都能正常工作,与我的应用程序一样),例如,它与我的应用程序呈现完全相同的问题,没有地图显示,网页只是保持灰色

通过一些调试(警报(“我在这里”):-)它似乎在Safari中执行navigator.geolocation.getCurrentPosition(myCallback),但它似乎从未到达myCallback。。。好像它永远不会从getCurrentPosition返回。我还看到,如果我让浏览器窗口通宵打开,当我早上回到它时,警报和地图已经出现了(尽管并不总是如此)。我还尝试添加了一个errorCallback navigator.geolocation.getCurrentPosition(myCallback,errorCallback),但它也从未执行过,再次表明它从未从getCurrentPosition调用返回

为什么会发生这种情况

编辑:
只是做了更多的测试,我添加了超时选项(navigator.geolocation.getCurrentPosition(myCallback,errorCallback,{timeout:5000});),事实上它一直在超时,不管我设置的有多高,所以它永远不会从Google geolocation服务返回,但是为什么呢?

试着打开你的wi-fi。Safari似乎依靠wi-fi连接工作。 我遇到了完全相同的问题,打开了wi-fi连接,它工作得非常好


我现在正在研究如何检测这一点-如果我找到解决方案,将进行更新

我可以确认完全相同的结果。Chrome sweet、Firefox 3.5 sweet、Safari 5无骰子:(另外,请注意,我正在运行雪豹可能与我的wi-fi相同,一直以来,那些说这是其他堆栈溢出问题的重复,并且需要打开Wifi的人都是错误的。如果这是Mac上的Safari 5,那就行了。但这个问题是针对Windows上的Safari 5。我也无法获得geolo我想在Windows上使用Safari 5,通过打开Wifi或任何其他方式。确实很奇怪,但在打开Wifi连接时它实际上对我有效!但这不是一个解决方案。