我有一个 Webview,onPageFinished 注入了一些 JavaScript,这个 JavaScript 填充了这个页面上的表单并成功提交了表单。
我的问题是如何在提交表单后检查 WebView 进入的页面的 onPageFinished ?因为我希望注入更多的 JavaScript 来提取一些值。
提前致谢。
我有一个 Webview,onPageFinished 注入了一些 JavaScript,这个 JavaScript 填充了这个页面上的表单并成功提交了表单。
我的问题是如何在提交表单后检查 WebView 进入的页面的 onPageFinished ?因为我希望注入更多的 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;
}
}
});