javascript - jquery 1.6.2 适用于 Android 2.1 模拟器但不适用于 Samsung Galaxy S

标签 javascript jquery android

有没有其他人遇到过 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/

相关文章:

javascript - 在没有 TypeScript 的情况下调用不带 `.then()` 或 `await` 的异步函数的 Lint 警告

javascript - 使用另一个 Controller 将参数从 View 传递到另一个 View

javascript - 动态构造二维数组

自动完成选择后 JavaScript 清空输入

android - 双卡安卓

javascript - jQuery 在点击时不显示请求的数据

javascript - 如何获取元素:hover style?

jquery - Google Places Photos API 以什么格式返回图像?

android - 无法在 chrome 开发工具资源中调整列的大小

android - 如何在Android中的G+登录按钮中心设置textview