WebView无网请求空web页面不显示错误信息
来源:互联网 发布:电气硬件 软件是什么 编辑:程序博客网 时间:2024/05/16 13:53
今天测试提了个bug。说我的一个WebView在无网状态下加载一个H5页面,没有给出应有的错误页面。
我的WebView的逻辑:
1.load的时候显示一个加载进度条
2.onReceiverdError的时候关闭加载进度条,显示错误页面
3.onPageFinished的时候检测一下是否发生错误,没有发生错误的话关闭进度条和错误页面(如果之前没关闭)
@Override public void onPageFinished(WebView view, String url) { FloatLogUtil.d("thm subjH5 onPageFinished"); mLoadingBarParent.setVisibility(View.GONE); if (!isError) { mEmptyParent.setVisibility(View.GONE); super.onPageFinished(view, url); } isError = false; } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { FloatLogUtil.d("thm subjH5 onReceivedSslError"); handler.proceed(); //接受证书 } @Override //转向错误时的处理 public void onReceivedError(final WebView view, int errorCode, String description, String failingUrl) { FloatLogUtil.d("thm subjH5 onReceivedError"); isError = true; mLoadingBarParent.setVisibility(View.GONE); mEmptyParent.setVisibility(View.VISIBLE); }排查的时候竟然发现,无网加载时没有执行onReceivedError,直接到了onPageFinished。
后来发现跳转的那个h5页面没有任何内容,只是用来做一些权限的检查,然后再跳转到真正的h5页面。
在这种情况下,收到304后WebView会加载本地缓存,而h5本没有任何内容,就不会执行onReceivedError。
我的解决办法是设置WebView不加载本地缓存。
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
0 0
- WebView无网请求空web页面不显示错误信息
- 页面中显示不出错误信息
- 页面中显示不出错误信息
- php出错不显示错误信息反而显示500页面
- debian下CodeIgniter显示白色页面不显示错误信息
- Android中WebView渲染显示web页面
- ASP显示页面错误信息
- 不显示脚本错误信息
- web前台显示错误信息
- iphone web页面显示和源码请求
- samsung 手机webview 加载https 页面不显示问题
- 清空jQuery validation 显示的错误信息
- 使用WebView显示页面
- WebView页面显示不全
- webview不显示图片
- webview 不显示图片
- EditText有内容时显示清空按钮,无内容时不显示
- Android webView加载html页面不显示(显示白屏)
- Xcode报编译器警告:Pointer is missing a nullability type specifier(_Nonnull..
- C++中常引用的作用
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- 【转】一些常见的很不错的Android开关 高仿IOS按钮开关
- 中缀表达式改后缀表达式
- WebView无网请求空web页面不显示错误信息
- linq sum source为空的两种处理方式
- mysql 的 redo 和 undo
- OpenCV常用知识点
- 一个类的生命周期
- Virtualbox DOC窗口下的命令行操作
- 【MySql】性能优化之分析命令
- jdk1.8 ConcurrentHashMap
- xUtils3带进度条下载(切换界面不会中断下载)