1

我发现如果我使用之前添加的接口,webview 无法再添加 javascriptInterface。演示1

    this.webView.loadUrl("http://www.google.com");
    this.webView.addJavascriptInterface(test1, "test1");
    this.webView.addJavascriptInterface(test11, "test11");
    this.webView.addJavascriptInterface(test2, "test2");
    this.webView.addJavascriptInterface(test22, "test22");

    this.webView.loadUrl("javascript:window.test1.describle('Hello1');");
    this.webView.loadUrl("javascript:window.test11.describle('Hello11');");
    this.webView.loadUrl("javascript:window.test2.describle('Hello2');");
    this.webView.loadUrl("javascript:window.test22.describle('Hello22');");

演示2

    this.webView.loadUrl("http://www.google.com");
    this.webView.addJavascriptInterface(test1, "test1");
    this.webView.loadUrl("javascript:window.test1.describle('Hello1');");
    this.webView.addJavascriptInterface(test11, "test11");
    this.webView.addJavascriptInterface(test2, "test2");
    this.webView.addJavascriptInterface(test22, "test22");

    this.webView.loadUrl("javascript:window.test1.describle('Hello1');");
    this.webView.loadUrl("javascript:window.test11.describle('Hello11');");
    this.webView.loadUrl("javascript:window.test2.describle('Hello2');");
    this.webView.loadUrl("javascript:window.test22.describle('Hello22');");

在demo2中,当我使用test11等接口时,会提示找不到obj test11

我不知道为什么。期待您的建议

4

1 回答 1

5

交换 loadUrl 和 addJavascriptInterface,可能会成功。

this.webView.addJavascriptInterface(test1, "test1");
this.webView.addJavascriptInterface(test11, "test11");
this.webView.addJavascriptInterface(test2, "test2");
this.webView.addJavascriptInterface(test22, "test22");
this.webView.loadUrl("http://www.google.com");
于 2012-06-26T04:51:16.637 回答