关键代码以下:
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
//用javascript隐藏系统定义的404页面信息
String data = "Page NO FOUND!";
view.loadUrl("javascript:document.body.innerHTML=\"" + data + "\"");
}
本文原创,转载请注明出处:http://blog.csdn.net/feifei454498130/article/details/23627557
主要是在WebViewClient里,重载OnReceivedError的方法,然后通过javascript操作dom去改变内容。
而网上大多数的处理方式是view.loadUrl(指向一个assets目录下的html文件或者"about:blank"),这样处理的话,在重新刷新时就会刷新当前这个错误的页面,或者在处理goBack()时候会出现一些问题。而通过以上方式则可以避免相应的问题。
本文介绍了一种在WebView中自定义错误页面的方法,通过重写onReceivedError方法并使用JavaScript来修改DOM,从而实现错误页面内容的动态更改,这种方法相比加载预设HTML文件更为灵活。
623

被折叠的 条评论
为什么被折叠?



