jQuery 移动设备无法在安装了 Android System WebView 45.0.2454.95 的 Android 5.0+ 设备上运行

jQuery Mobile not working on Android 5.0+ devices that have Android System WebView 45.0.2454.95 installed

自从 Google 发布了最新版本的 Android System WebView 45.0.2454.95 以来,我们的应用程序已停止在 Android 5.0+ 设备上运行,我们遇到了这个问题。如果我们通过转到设备设置、应用程序、Android 系统 WebView 并单击禁用来禁用此版本的 WebView:应用程序将再次运行。然而,这对我们的一些客户来说并不令人满意,我们确实需要找到一个可以与最新版本的 Android System WebView 一起使用的修复程序。

我们的应用程序大量使用 jQuery 和 jQuery 移动设备。我们目前使用 jQuery 1.7.1 和 jQuery Mobile 1.1.0。我们不能轻易升级到更新的版本。

当页面在应用程序中加载时,在 jQuery 选择器中调用的任何方法都不会 运行,例如

$(function() { //Your code here });

这段代码在使用旧版本的WebView时成功执行,但在使用最新版本时无法执行。试图调用选择器外部的代码导致了其他问题。

在我目前的调查中,我发现问题似乎出在 jQuery Mobile 中,因为当我删除对 jquery.mobile.js 的引用时,代码会再次执行。但是,正如您所预料的那样,由于 jQuery 移动设备是我们应用程序不可或缺的一部分,因此会出现问题。

有谁知道 jQuery Mobile 在最新版本的 Android System WebView 上的任何问题可能会导致此问题?

$.mobile.pushStateEnabled=false;

示例:

<script type="text/javascript">
$( document ).ready(function() {
    $.mobile.pushStateEnabled = false;
});
</script>
<script type="text/javascript">
$(document).bind("mobileinit", function(){
    $.mobile.pushStateEnabled = false;
});
</script>

<script src="jquery-mobile.js"></script>