我有一个带有js函数的文件,我需要注入webview,但似乎找不到正确的方法。至于我到目前为止所学到的,我需要通过在webview中设置setWebViewClient
并在onPageFinished
注入js来注入js:webview.loadUrl("javascript:" + js);
现在我的问题是:上面是正确的,我如何获得我执行的javascript函数的返回值?
由于
答案 0 :(得分:3)
是以上正确的
{1}}方法适用于API等级18及以下版本。在API级别19中添加了loadUrl()
作为替代方案。
是否在evaluateJavascript()
中调用该代码是正确的时间,我们不能说。
如何获取我执行的javascript函数的返回值?
使用onPageFinished()
,您无法获得返回值,至少不能直接获得。您必须在loadUrl()
上使用addJavascriptInterface()
来注册一个映射到您提供的某个Java对象的假JS全局,并让您的JavaScript调用某个方法在该全局上将数据传回WebView
。
使用WebView
,您可以传入一个回调对象,该对象将获得JS返回的任何内容的evaluateJavascript()
表示。