2010-09-10 84 views
5

我正在使用W3C標準地理定位API的應用程序,但我不能在我的生活中使它在我的Windows 7和XP PC上的Safari上工作。它可以在我的iPad和iPhone上正常工作。它也適用於Chrome(5,6,7和Canary版本)和Firefox(3.6)。我沒有Mac,所以我無法測試它。 IE瀏覽器不支持地理定位,所以也包括在內。地理定位不能在Windows 7/XP上的Safari 5.x上工作

我創建了一個精簡版,我將它託管在Google Apps引擎上,以便您可以查看代碼:http://html5-geolocator.appspot.com/。所有(簡化)JavaScript都在html中,因此您應該能夠右鍵單擊並調試/查看源代碼。

這幾乎是對Google Map API DevGuide上的例子的直接轉換。有趣的是,谷歌託管的例子在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地理位置服務返回,但爲什麼?

+0

任何人的任何線索? – mvilrokx 2010-09-16 04:57:17

+0

我可以確認完全相同的結果。鉻甜,Firefox 3.5甜,Safari 5沒有骰子。 :( – ADAM 2010-10-13 19:07:30

+0

也FYI我運行雪豹 – ADAM 2010-10-13 19:07:58

回答

3

嘗試開啓您的wi-fi。看來,Safari依靠Wi-Fi連接工作。 我有完全相同的問題,打開了我的Wi-Fi連接,它完美的工作。

我現在正在研究如何檢測這一點 - 將更新,如果我找到一個解決辦法

+0

我有我的Wi - Fi上,所有的時間 – mvilrokx 2010-11-16 04:07:25

+0

那些說這是其他堆棧溢出問題的重複,並且你需要打開Wifi是錯誤的。如果這是在Mac上的Safari 5,這將工作。但這個問題是在Windows上的Safari 5 。我也一直無法通過打開Wifi或其他任何方式使Safari上的地理定位工作在Safari 5上。 – progressnerd 2011-12-05 14:36:25

+0

確實很奇怪,但在開啓我的無線連接時它確實對我有效!但這不是一個辦法。 – FoF 2012-01-20 09:30:38

相關問題