javascript - WebView 完成上一次 JavaScript 注入(inject)的加载后,在 Android 中注入(inject) JavaScript

标签 javascript android webview

我有一个 Webview,onPageFinished 注入(inject)一些 JavaScript,此 JavaScript 填充此页面上的表单并成功提交表单。

我的问题是如何在提交表单后检查 WebView 转到的页面的 onPageFinished ?因为我希望注入(inject)更多 JavaScript 来提取一些值。

提前致谢。

最佳答案

您需要通过在所有 3 个相关方法中操作的标志来管理自己的重定向:

boolean loadingFinished = true;
boolean redirect = false;

mWebView.setWebViewClient(new WebViewClient() {

   @Override
   public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
       if (!loadingFinished) {
          redirect = true;
       }

   loadingFinished = false;
   view.loadUrl(urlNewString);
   return true;
   }

   @Override
   public void onPageStarted(WebView view, String url, Bitmap facIcon) {
        loadingFinished = false;
        //SHOW LOADING IF IT ISNT ALREADY VISIBLE  
    }

   @Override
   public void onPageFinished(WebView view, String url) {
       if(!redirect){
          loadingFinished = true;
       }

       if(loadingFinished && !redirect){
         //HIDE LOADING IT HAS FINISHED
       } else{
          redirect = false; 
       }

    }
});

关于javascript - WebView 完成上一次 JavaScript 注入(inject)的加载后,在 Android 中注入(inject) JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640348/

相关文章:

javascript - 使用 Javascript/jQuery 在 HTML 中列出 map 数据

android - 如何在 WebView 中打开视频播放器?

android - rem 单位在 webview 中不起作用

ios - (Xcode,Swift)如果多个 WKWebViews 在不同的 viewControllers 上,是否可以同时加载它们?

javascript - 如何使用AJAX上传和预览上传的图片

javascript - VueJs - 将字符串放入 img src 属性中

javascript - 使用 Vanilla Js 检测页面向下滚动时的部分 ID

java - 未在 android 打印面板中列出已连接的 WiFi 打印机

android - 什么是 Android Studio 即时运行?

android - Dagger2和协程如何结合?