在 WebView 完成从以前的 JavaScript 注入加载后,在 Android 中注入 JavaScript

Inject JavaScript in Android after WebView has finished loading from a previous JavaScript Injection

本文关键字:JavaScript 注入 加载 Android WebView      更新时间:2023-09-26

我有一个Web视图,在PageDone注入了一些JavaScript,这个JavaScript填充了这个页面上的表单并成功提交表单。

我的问题是,在提交表单后,我如何检查WebView转到的页面的onPageDone?因为我希望注入更多的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; 
       }
    }
});