2012-05-09 73 views
1

我发现如果我使用之前添加的界面,则webview无法再添加javascriptInterface。 demo1的Android WebView无法添加多个javascriptinterface

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

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

交换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"); 
+0

对我来说,它的工作原理如果我在en上有loadUrl。然而,接口具有不同的命名是一种痛苦。 – box

相关问题