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 中不起作用