有没有其他人遇到过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版本。 –