在webview中注入javascript

时间:2015-11-06 13:10:57

标签: javascript java android webview android-webview

我有一个带有js函数的文件,我需要注入webview,但似乎找不到正确的方法。至于我到目前为止所学到的,我需要通过在webview中设置setWebViewClient并在onPageFinished注入js来注入js:webview.loadUrl("javascript:" + js); 现在我的问题是:上面是正确的,我如何获得我执行的javascript函数的返回值?

由于

1 个答案:

答案 0 :(得分:3)

  

是以上正确的

{1}}方法适用于API等级18及以下版本。在API级别19中添加了loadUrl()作为替代方案。

是否在evaluateJavascript()中调用该代码是正确的时间,我们不能说。

  

如何获取我执行的javascript函数的返回值?

使用onPageFinished(),您无法获得返回值,至少不能直接获得。您必须在loadUrl()上使用addJavascriptInterface()来注册一个映射到您提供的某个Java对象的假JS全局,并让您的JavaScript调用某个方法在该全局上将数据传回WebView

使用WebView,您可以传入一个回调对象,该对象将获得JS返回的任何内容的evaluateJavascript()表示。