如何让webview无法打开网页时不显示404,401等错误

2025-05-08 12:31:26
推荐回答(3个)
回答1:

  通过查看android doc,才知道webkit解析页面的部分由c层webCore来完成的,对于404之类的处理已经被封装到本地c库函数中,仅给java层提供了WebViewClient的onReceivedError()做监听处理。我曾尝试对404页面做自己的处理,但效果都不是很好。最后找到了一个可以实现的方法:当onReceivedError()捕捉到404异常,通知webview不绘制(不调用draw()),然后在webview上层显示自己定义的组件提示用户,方法很简单,但个人觉得只是治标不治本,而且webkit中Ui和页面解析处理分别在俩个线程中,所以有时候会出现onReceivedError()捕捉到异常时,已经显示出了默认的404页面,所以不是很合理,希望有人能找到合理的解决方案。

回答2:

可是android里的错误页面跟PC里的不一样,明显是webview里自定义的错误页,即然能这样,我想也会有方法的

回答3:

重写 webviewClient 对象的 onReceivedError 方法