2012-05-09 76 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

相關問題