我正在使用一个Android应用程序,我使用以下语法将本地文件内容加载到webview中。
url = "file://" + mLocalFilePath + java.io.File.separator + CURRENT_FILE;
webView.loadUrl(url);
问题是webview加载文件内容还加载了网页中存在的网址中的各种图像(网页上有很多图像)。
我面临的挑战是,当webview完成呈现整个html页面时,我希望收到通知。我想在网页100%加载时收到通知。
我参考了各种论坛,并尝试使用
window.onload
功能
以及
public void onPageFinished(WebView view, String url)
但我没有得到欲望输出,我在html页面完全加载之前得到回调。我正在寻找方式,这样我只有在网页完成呈现网页中存在的所有图像时才会得到通知。(即网页是100%装。)
我不是在寻找完整的答案,即使提示也会受到赞赏。
由于
答案 0 :(得分:0)
试试这种方式
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if(newProgress==100){
// page loading completes
}
}
});
答案 1 :(得分:0)
我使用了已弃用的PictureListener
,它是在加载页面上的所有图片时启动的。它已被弃用,你需要在html中至少有一个图像,但如果你可以管理它(你可以放置透明的1px * 1px图像),这是一个很好的解决方案。
wv.setPictureListener(new PictureListener() {
@Override
public void onNewPicture(WebView view, Picture picture) {
// some code here
}
}
});