【问题标题】:Unable to load javascript without html in webview Android无法在 webview Android 中加载没有 html 的 javascript
【发布时间】:2017-03-15 14:10:57
【问题描述】:

我正在尝试将我的本地 (from assets folder) js 文件加载到 webview 中,但它不断抛出错误 Uncaught reference, method hello not found。但是当我尝试以相同的方式加载HTML 文件时。

我的js文件内容:

function hello(p1, p2) {
    console.log(5 + 6);
    return p1 * p2;
};

我正在将此文件加载到片段中

webView = new WebView(getContext());
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setAllowFileAccess(true);
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
                Log.d("test--test--test--resp", consoleMessage.message());
                return super.onConsoleMessage(consoleMessage);
            }
        });
        webView.loadUrl("file:///android_asset/test.js");
        webView.addJavascriptInterface(this, "");

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                webView.loadUrl("javascript:hello(1,2)");
            }
        });

有人可以指出我缺少什么或者我如何在没有html 的情况下正确加载javascript 文件。

【问题讨论】:

    标签: java android webview android-webview


    【解决方案1】:

    呵呵,经过几次实验得到了答案。在 webview 中,如果想在没有 html 的情况下使用 loadUrl 方法运行/加载 JS 文件,则 JS 文件的内容应该在 <script></script> 标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-10
      • 2016-07-13
      • 2012-11-29
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多