有沒有其他人遇到過jquery-1.6.2.min.js似乎無法在運行Android 2.1的三星Galaxy S上工作的問題?如果是這樣,有沒有人知道我可以做什麼修改,以便能夠使用它的設備?jquery 1.6.2適用於Android 2.1模擬器,但不適用於Samsung Galaxy S
我最近開始開發一個基於JavaScript的網站的移動版本,這是我今年早些時候製作的。一切都很順利,一切似乎都適用於各種Android模擬器以及我自己的三星Galaxy S2。但是當我在運行標準Android 2.1的三星Galaxy S1上測試該網站時,我的所有JavaScript代碼似乎都被破壞了。所以我又回到了Android 2.1和Galaxy Tab的模擬器上(使用默認的WebKit瀏覽器)再次測試它,並且在那些網站上工作得很好。
我嘗試了很多解決方案,並且搜索了網站,不停地搜索標準Android 2.1和Galaxy S發佈的版本之間的差異,直到我決定降級我在1.6.2到1.4.2之間使用的Jquery版本。這立即解決了我的問題。但是,由於jquery用於移動設備的改進,我仍然希望能夠使用1.6.2。
在此先感謝。
編輯11月5日:
由於曼努埃爾Holzhauser指出,在jQuery的1.6.2腳本替換 「//」 通過 '//' 解決了這個問題。這似乎與兩個正斜槓和雙引號的組合有關,因爲後者和「/ *」都用在腳本中沒有問題。
僅供參考,帶有單個出現的代碼片段的「//」記載:!
// Main method
ajax: function(url, options) {
var // Create the final options object
s = jQuery.ajaxSetup({}, options), // (...)
// Remove hash character (#7531: and string promotion)
// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
// We also use the url parameter if available
s.url = ((url || s.url) + "").replace(rhash, "").replace(rprotocol, ajaxLocParts[ 1 ] + "//");
// (...)
}
你有沒有比較的WebKit的版本模擬器和你的手機? – Robert
好點,我會研究一下。 TBH我認爲Galaxy S默認運行Android 2.1,它將擁有與Android 2.1模擬器相同的WebKit版本。 –