使用WebView时,有没有办法检测文档DOM树是否已经加载完成?我知道WebViewClient提供了一个'onPageFinish'回调函数,但是在加载完所有Web资源后调用它。
如果网页运行缓慢请求(可能是错误请求,其http状态为“等待响应”),则在请求完成之前不会调用“onPageFinish”。我只想在网页的DOM树加载完成后捕获事件。
任何一个帮助?非常感谢。
答案 0 :(得分:1)
使用onPageCommitVisible替换onPageFinished。
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
prDialog = new ProgressDialog(MainActivity.this);
prDialog.setMessage("Please wait ...");
prDialog.show();
}
@Override
public void onPageCommitVisible(WebView view, String url) {
super.onPageCommitVisible(view, url);
if(prDialog != null) prDialog.dismiss();
}
答案 1 :(得分:0)
这是我的例子。对于页面
boolean isPageLoaded;
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
isPageLoaded=true;
return isPageLoaded;
}
public void onPageFinished(WebView view, String url) {
if(!isPageLoaded){}
}
});
我的网址加载示例已经完成。
if(!isPageLoaded){}
如果网址已完成,则
。