JavaScript 在 Android 4.4+ 上的 Cordova 应用程序中不起作用

Posted

技术标签:

【中文标题】JavaScript 在 Android 4.4+ 上的 Cordova 应用程序中不起作用【英文标题】:JavaScript not working in Cordova app on Android 4.4+ 【发布时间】:2017-12-14 20:54:15 【问题描述】:

我使用 Cordova 和 Intel XDK 为 android 构建了一个简单的测试应用程序,它在 Android 4.0、4.2、4.3 的模拟器中完美运行,但 javascript 代码在 Android 4.4 和 5.0、5.1、6.0 中都不起作用, 7.0.有人可以帮我理解什么是错的吗?谢谢。代码如下:

<body>

<script>
    function getText() 
        document.getElementById('replace_text').innerhtml = 'A simple line';
    
</script>

<a href="#" onclick="getText()">Click here to replace text.</a>
<br />
<div id="replace_text">Here is the text to replace.</div>

</body>

【问题讨论】:

【参考方案1】:

您是否在 MainActivity.java 中添加了这一行?

view.getSettings().setJavaScriptEnabled(true);

编辑

jquery。 您需要做的是下载 jquery 和本地链接,并在其中添加一个脚本文件:

var getText = function () 
  $('#replace_text').html('A simple line');
;

var init = function () 
    $('#clickMeToDoSomething').on('click',getText)
;

$(document).ready(init());

那将是你的 HTML:

<body>
    <a href="#" id="clickMeToDoSomething">Click here to replace text.</a>
            <br/>
            <div id="replace_text">Here is the text to replace.</div>
</body>
<script src="assets/js/jquery-3.2.0.min.js"></script>
<script src="assets/js/myScript.js"></script>

【讨论】:

我试图在 MainActivity.java 中添加这一行(第 31 行),结果在使用 Cordova CLI 构建时失败:“ MainActivity.java:31:错误:找不到符号视图。 getSettings().setJavaScriptEnabled(true) " 但是我在 SystemWebViewEngine.java 中发现了类似的东西:" // Enable JavaScript final WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); " 因此,JavaScript 应该已经启用。但是当我尝试在 Android 4.4+ 中运行该应用程序时,我的 JS 代码不起作用。 你知道 Jquery 吗? 是的,只是一点点。 是的,成功了!在 Android 4.0、4.4 和 5.0 的模拟器中测试。非常感谢! jQuery 在所有这些 Android 版本上都能完美运行。但现在的问题是:如果我想添加从网上下载的 JavaScript 代码(例如 CSS3/JS 菜单模板),如何将其转换为 jQuery 代码?或者,有没有办法通过 jQuery 运行 JS 代码? 我个人认为onclick方法在android中不起作用。你能给我一个想要使用的任何 JS 代码或你想要制作什么样的应用程序的例子吗?也许我能帮你。你想使用引导程序吗?

以上是关于JavaScript 在 Android 4.4+ 上的 Cordova 应用程序中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Mockito + Dexmaker 测试在 Android < 4.4 上运行时崩溃

Android - 可扩展列表视图 SetIndicatorBounds 在 Kitkat android-4.4 中不起作用

Android 4.4 KitKat 随机崩溃

Android4.4.4之bug总结

无法在 Android 4.4 KitKat 上快速关闭 ChunkedInputStream

Android4.4.4之bug总结