关键代码以下:
@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()时候会出现一些问题。而通过以上方式则可以避免相应的问题。