api级别为15的Android WebView上的JS ReferenceError

时间:2016-12-26 13:29:47

标签: android webview android-4.0-ice-cream-sandwich

我正在尝试使用WebView为Android创建一个网络应用。我的中心很简单,我有一个带按钮的index.html文件:

<button id="connect-button" onclick="connect">Connect</button>

和一个简单的(脚本)元素:

<script>
connect = function () {
   alert("Oi");
};
</script>

在Android方面,我有一个活动来在Webview上加载此文件

WebView web;
web = (WebView) findViewById(R.id.webview01);

//ProgressBar related to the xml
progressBar = (ProgressBar) findViewById(R.id.progressBar1);
progressBar.setMax(100);

web.setWebViewClient(new myWebClient());
web.setWebChromeClient(new MyWebViewClient());
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setLoadWithOverviewMode(true);
web.getSettings().setUseWideViewPort(true);
web.loadUrl("file:///android_asset/index.html");

对于api等级19或以上,一切正常。但对于api级别15到18级的webview无法加载我的简单javascript方法&#34; connect&#34;。

我搜索了很多关于webview for api level bellow 19的问题,但这是一个非常简单的测试。有时某些人会做一些类似于api 15的事情吗?

1 个答案:

答案 0 :(得分:0)

<强>解决

对于我的情况,问题是对于低于19的API的显然WebView,你必须明确地将任何代码放在&#34; window&#34;对象

所以,当我将我的java脚本更改为

li
一切正常!

我们有很多类似于这个问题的问题,如果这对您不起作用,请查看: