2014-02-05 39 views
0

我有一個涉及Google Maps API和一些JavaScript代碼的項目。該頁面基於jQuery Mobile構建。我的桌面上的Chrome,FireFox,Opera和IE以及各種移動電話上都有測試過的網頁。JavaScript上的「Safari上的iPad」和「iPhone上的Safari」之間的區別

它不適用於iPhone(4,也不是5)。我的意思是,在Android,WP8,Chrome iPhone模擬器下都很好,甚至可以在iPad上運行(Air,如果有的話)。

似乎Google Maps API根本沒有加載。它應該在頁面加載後初始化,然後在頁面內顯示一張地圖。但沒有什麼。此外,在使用iPad時也沒有關於查詢用戶位置的警報。

iPhone上的Safari瀏覽器與我的iPad,OS 7.0.4,Apple WebKit 537.51.1,Safari 9537.53上的版本相同。這些設備連接到同一個WiFi網絡。由於缺少Mac,我現在無法使用遠程調試功能。

有關應用程序出現問題的任何簡要說明?我懷疑它在JavaScript裏面,但我可能是錯的。

謝謝。

+0

「該頁面基於jQuery Mobile構建」。我的猜測是,它可能是一個jQuery手機問題。嘗試在非jquery html頁面中加載GMaps API和函數,並檢查它是否以這種方式工作。 – adrian7

+0

@ adrian7這聽起來很不錯。我會嘗試去除jQM並查看它是否有效。 – msg7086

+0

@ adrian7我已經刪除了所有與jQM相關的CSS和JS。問題依然存在。它適用於其他任何地方(雖然很醜),但不適用於iPhone。 – msg7086

回答

1

我發現了問題並解決了它。

這是因爲Safari上的位置服務(默認情況下)在iPhone上被禁用。不過,它已在我的iPad上啓用(不知道它是否爲默認設置),以便從位置服務API獲得不同的反應。

我必須在iOS用戶檢測到位置服務被禁用時發出警報消息。在設備的隱私設置中啓用後,該應用程序可以在所有設備上正常工作。

補丁碼爲here