【问题标题】:Inject javascript in webview在 webview 中注入 javascript
【发布时间】:2015-11-06 13:10:56
【问题描述】:

我有一个包含 js 函数的文件,我需要将其注入到 webview 中,但似乎我找不到正确的方法。据我所知,到目前为止,我需要通过在 webview 中设置 setWebViewClient 来注入 js,并在 onPageFinished 上通过这样做注入 js:webview.loadUrl("javascript:" + js); 现在我的问题是:以上是否正确,我怎样才能得到我执行的 javascript 函数的返回值?

谢谢

【问题讨论】:

    标签: javascript java android webview android-webview


    【解决方案1】:

    上面说的对吗

    loadUrl() 方法适用于 API 级别 18 及以下级别。 evaluateJavascript() 作为替代添加到 API 级别 19。

    onPageFinished() 中调用该代码是否合适,我们不能说。

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      相关资源
      最近更新 更多