Javascript jquery 1.6.2可以在Android 2.1模拟器上运行,但不能在三星Galaxy S上运行
还有谁遇到过jquery-1.6.2.min.js在运行安卓2.1的三星Galaxy S上根本不起作用的问题吗?如果是这样的话,有人知道我可以做些什么修改来使用它吗 我最近开始开发一个移动版本的基于javascript的网站,这是我今年早些时候创建的。一切都进行得很顺利,在各种Android仿真器以及我自己的三星Galaxy S2上,一切似乎都正常。但当我在运行标准安卓2.1的三星Galaxy S1上测试该网站时,我所有的javascript代码似乎都被破坏了。因此,我再次在Android 2.1和Galaxy Tab(使用默认的WebKit浏览器)的模拟器上对其进行了测试,该站点在这些模拟器上运行良好 我尝试了许多解决方案,并在网上不停地搜索标准安卓2.1和Galaxy S发布的版本之间的差异,直到我决定将我使用的Jquery版本从1.6.2降级到1.4.2。这立刻解决了我的问题。但是,由于jquery在移动设备上的使用有所改进,我仍然希望能够使用1.6.2 提前谢谢 11月5日编辑: 正如Manuel Holzhauser指出的,在jQuery1.6.2脚本中用“/”替换“/”就解决了这个问题。这似乎与两个正斜杠和双引号的组合有关,因为后者和“/”在脚本中使用没有问题 作为参考,单次出现“/”的代码段如下:Javascript jquery 1.6.2可以在Android 2.1模拟器上运行,但不能在三星Galaxy S上运行,javascript,jquery,android,Javascript,Jquery,Android,还有谁遇到过jquery-1.6.2.min.js在运行安卓2.1的三星Galaxy S上根本不起作用的问题吗?如果是这样的话,有人知道我可以做些什么修改来使用它吗 我最近开始开发一个移动版本的基于javascript的网站,这是我今年早些时候创建的。一切都进行得很顺利,在各种Android仿真器以及我自己的三星Galaxy S2上,一切似乎都正常。但当我在运行标准安卓2.1的三星Galaxy S1上测试该网站时,我所有的javascript代码似乎都被破坏了。因此,我再次在Android 2.
我们有完全相同的问题,但我找到了解决办法 在压缩版本中,您必须将
“//”
替换为“/”
它不会改变任何功能,但可以在手机上运行!当遇到新设备或遇到问题时,我会尝试运行jQuery单元测试(http://docs.jquery.com/Qunit)你比较过模拟器和手机的WebKit版本吗?好的,我会调查一下。我想Galaxy S默认运行安卓2.1,会有与安卓2.1模拟器相同的WebKit版本。感谢分享你的解决方案,Manuel!我更改了sing中的双引号在Galaxy S和其他设备上出现“/”,现在一切都按预期运行。感谢这一点…真的很有帮助…呸!:)我还没有意识到像QUnit这样的东西存在,谢谢你的建议,它听起来非常有用。
// 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 ] + "//" );
// (...)
}