似乎addJavascriptInterface在再次创建容器时不适合我

Seems That addJavascriptInterface not work for me when create the container again

本文关键字:不适合 创建 addJavascriptInterface 似乎      更新时间:2023-09-26
public class MyWebView extends Dialog 
{
    protected WebView mWebView;
    protected void onCreate(Bundle savedInstanceState) {
        mWebView.addJavascriptInterface(new JavaScriptInterface(),"js2java");
        mWebView.getSettings().setJavaScriptEnabled(true);
    }
}
    public class JavaScriptInterface
    {
        public void test(String response)
        {
            MyToast.showMessage(QWWebView.this.getContext(),response);
        }
    }

第一次,显示对话:

new MyWebView().show();

函数"test"可以被成功调用,然后解散MyWebView实例,然后再次显示它:

new MyWebView().show();

无法调用test函数

不确定这是否是您的问题,但我最近在添加所需定义时遇到了JavaScripInterface问题。这是通过明确定义在java脚本中使用哪些函数来解决的。

public class JavaScriptInterface
{
    @JavascriptInterface
    public void test(String response)
    {
        MyToast.showMessage(QWWebView.this.getContext(),response);
    }
}

还要注意@SuppressWarnings("unused")将消除恼人的未使用函数警告。

在你的代码示例中,我看不到你执行脚本的点?!?