相关疑难解决方法(0)

JavaScript接口无法查找功能

我有一个JavaScriptInterface具有单一功能的类.该功能注释,@JavascriptInterface我相信我已正确设置.

public class JavaScriptInterface {

    ...

    @JavascriptInterface
    public void processBody(String uri, String body) {
        Log.d(TAG, "Process body");
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在上面设置JavaScriptEnabled WebView并尝试调用该函数:

final WebView webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JavaScriptInterface(), "java");

webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        Log.d(TAG, "Page finished");
        callJavaScript();
    }
});
Run Code Online (Sandbox Code Playgroud)

页面完成加载,然后我尝试了各种方法来调用我的JavaScript函数JavaScriptInterface.使用以下两种方法之一:

view.evaluateJavascript(javascript);

view.loadUrl("javascript:" + javascript);
Run Code Online (Sandbox Code Playgroud)

以及其中一个javascript字符串:

"(function() { window.java.processBody('" + url + "', document.body.innerHTML); })()"

"(function() { processBody('" + url + "', document.body.innerHTML); })()" …
Run Code Online (Sandbox Code Playgroud)

javascript android typeerror chromium android-webview

5
推荐指数
1
解决办法
2658
查看次数