我的活动中有以下代码:
browser = (WebView)findViewById(R.id.webkit);
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setPluginsEnabled(true);
browser.getSettings().setDomStorageEnabled(true);
/*if (Build.VERSION.SDK_INT >= 16) {
browser.getSettings().setAllowFileAccessFromFileURLs(true);
browser.getSettings().setAllowUniversalAccessFromFileURLs(true);
}*/
// Loads html-string into webview
browser.loadUrl("file:///android_asset/index.html");
页面加载正常,css加载正常,图像加载正常。但是我也有一个本地的js文件。目前只包含警告消息alert("JSEnabled");
但警报从未出现。我怎样才能诊断出来?
我目前正在使用模拟器来开发项目,并且必须支持回到Gingerbread(2.3.3)。
当我在模拟器上使用浏览器应用程序时,显然相同的html / js工作正常(指向相同HTML / js的远程服务版本)
我还应该指出 - 所有文件都在项目的assets文件夹中,我尝试将js引用为file:///android_assets/main.js和main.js.我甚至尝试过引用远程js文件。什么都行不通......
答案 0 :(得分:3)
要处理您的javascript提醒,请将其添加到您的网页浏览
webview.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});