简体   繁体   English

Android WebView无法添加多个javascript接口

[英]Android WebView fail to add multiple javascriptinterface

I find that if I use the interface I added before, the webview could not add the javascriptInterface any more. 我发现如果我使用之前添加的界面,webview就无法再添加javascriptInterface了。 Demo1 demo1的

    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');");

Demo2 DEMO2

    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');");

In the demo2 , when I use the interface such as test11, I will be told that could not find the obj test11 在demo2中,当我使用test11这样的界面时,我会被告知无法找到obj test11

I don't know why. 我不知道为什么。 Looking forwards your suggestion 期待你的建议

swap loadUrl and addJavascriptInterface, and might make it. 交换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");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM