【问题标题】:How to call Javascript function from Android without onPageFinished如何在没有 onPageFinished 的情况下从 Android 调用 Javascript 函数
【发布时间】:2021-01-02 21:52:41
【问题描述】:

有很多答案,但没有一个有效。他们都使用这个功能:

webview.setWebViewClient(new WebViewClient() {
    public void onPageFinished(WebView view, String url) {
        webview.loadUrl("javascript:Test('Andrdoid-->Html')");
    }
});

但在 webview 中加载页面后它会工作一次。我们希望在用户打开应用程序期间使用它。 有人说用这条线

webview.loadUrl("javascript:Test('Andrdoid-->Html')");

没有 onPageFinished 。但它无济于事。 Javascript:

funtion Test(){
alert("hi");
}

【问题讨论】:

  • 我再次测试了我的代码,上面的代码可以工作,但它不能在 javascript 中使用 alert() 。但是可以用Java类调用所有的javascript代码

标签: javascript android android-studio webview android-webview


【解决方案1】:

嗯,与 webview 通信的最佳方式是在原生应用程序和 web 应用程序之间架起一座桥梁, 检查此library 它将帮助您与网络应用程序进行通信。

【讨论】:

    【解决方案2】:
    webview.evaluateJavascript("Test('Andrdoid-->Html')", null);
    

    loadUrl 将重新加载页面并再次调用 onPageFinished()。

    你可以试试evulateJavascript

    evaluateJavascript,将异步运行 JavaScript 并避免阻塞 UI 线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2018-06-23
      • 2016-11-17
      • 1970-01-01
      相关资源
      最近更新 更多