0

我的活动中有以下代码:

    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 的远程服务版本)

我还应该指出 - 所有文件都在项目的资产文件夹中,我尝试将 js 引用为 file:///android_assets/main.js 和 main.js。我什至尝试过引用远程 js 文件。没有任何作用...

4

1 回答 1

3

要使用您的 javascript 警报,请将其添加到您的 webview

  webview.setWebChromeClient(new WebChromeClient() {

        @Override
        public boolean onJsAlert(WebView view, String url, String message,
                JsResult result) {

            return super.onJsAlert(view, url, message, result);
        }

    });
于 2012-12-10T09:10:27.273 回答