有没有其他人遇到过 jquery-1.6.2.min.js 似乎根本无法在运行 Android 2.1 的三星 Galaxy S 上运行的问题?如果是这样,有谁知道我可以进行哪些修改才能将其用于此设备?
我最近开始开发我今年早些时候创建的基于 javascript 的网站的移动版本。一切顺利,一切似乎都适用于各种 Android 模拟器以及我自己的 Samsung Galaxy S2。但是当我在运行标准 Android 2.1 的三星 Galaxy S1 上测试网站时,我所有的 javascript 代码似乎都被破坏了。因此,我再次在 Android 2.1 和 Galaxy Tab(使用默认的 WebKit 浏览器)的模拟器上对其进行了测试,网站在这些模拟器上运行良好。
我尝试了多种解决方案并在网上不停地搜索标准 Android 2.1 和 Galaxy S 附带的版本之间的差异,直到我决定将我使用的 Jquery 版本从 1.6.2 降级到 1.4.2。这立即解决了我的问题。但是,由于针对移动设备的使用对 jquery 进行了改进,我仍然希望能够使用 1.6.2。
提前致谢。
11 月 5 日编辑:
正如 Manuel Holzhauser 指出的那样,在 jQuery 1.6.2 脚本中将“//”替换为“//”可以解决问题。这似乎与两个正斜杠和双引号的组合有关,因为后者和 "/* 在脚本中使用没有问题。
作为引用,单次出现“//”的代码 fragment 如下:
// 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 ] + "//" );
// (...)
}
最佳答案
我们遇到了完全相同的问题,但我找到了解决方案!
您必须在压缩版本中将 "//"
替换为 '//'
。
它不会改变任何功能,但可以在您的手机上使用!
关于javascript - jquery 1.6.2 适用于 Android 2.1 模拟器但不适用于 Samsung Galaxy S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6957308/