0

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

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

提前致谢。

4

1 回答 1

2

您需要通过在所有 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; 
       }

    }
});
于 2013-10-29T00:56:08.480 回答