我在WebView
中加载了一些脚本。问题在于,在使用evaluateJavascript()
方法之后,新添加的JavascriptInterfaces
无法用于WebView
。在传递给Javascript方法的对象的序列化过程中,我要添加新的JavascriptInterfaces
。在此操作之后,它们存在于JS中(我使用console.log从JS端打印了传递的内容)。当webView
试图给他们打电话时,我得到了
Uncaught ReferenceError: Native5 is not defined
,其中Native
是添加的JS接口的名称。
这是我正在采取的步骤:
webView.loadUrl(script);
在Android中的某些Button单击事件中,我创建了一个新脚本并将其传递给JS方法,在脚本创建期间,我向JavascriptInterfaces
添加了新的WebView
webView.evaluateJavascript(prepareScript(),新的ValueCallback(){ @Override 公共无效onReceiveValue(String value){ } });
private prepareScript(){ //一些对数据的字符串操作 if(nativeNeeded); webView.addJavascriptInterface(jsHandlerClass,“ Native5”); 返回“ javascript:updateWebContent(“ +数据+”)'“; }
在更新WebView之后,除了我新添加的JavascriptInterfaces
之外,其他所有东西都工作正常。我该如何强制其正常运行?