如何在android webview中注入javascript界面​​?

时间:2016-10-04 07:20:43

标签: javascript android webview

我在android中的webview中加载一个页面。该页面有一个元素(按钮),代码如下:NB: - 这是第三方网站,我无法控制此处显示的代码: -

    <i class="icon close cardClose" role="button" title="Close recently linked screen" tabindex="0"></i>

我想添加一个javascript界面​​,如下面的方法: -

private class myWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            view.addJavascriptInterface(new Object()
            {
                @JavascriptInterface
                public void performClick() throws Exception
                {
                    Toast.makeText(Activity.this, "Login clicked", Toast.LENGTH_LONG).show();
                }
            }, "login");
            return true;
        }
    }


mWebView.setWebViewClient(new myWebViewClient());

但问题是webview源代码说: -

* @param object the Java object to inject into this WebView's JavaScript
     *               context. Null values are ignored.
     * @param name the name used to expose the object in JavaScript
     */
    public void addJavascriptInterface(Object object, String name) {
        checkThread();
        mProvider.addJavascriptInterface(object, name);
    }

该按钮似乎没有名为&#34; name&#34;的属性。如果有人知道的话,请提供一些见解。

1 个答案:

答案 0 :(得分:0)

我建议你这样使用它

view.addJavascriptInterface(new JavaScriptInterfaceNew(getActivity(), this), "Android_Normal_Test");

此处JavaScriptInterfaceNew是您的班级名称,当您需要将某些活动从Android_Normal_Test传递到webview

时,activity class将成为您的对象