关于WebView不能加载网页,配置,兼容适配问题
2017-04-20 16:18
639 查看
版权声明:本文为博主原创文章,转载请注明出处 http://blog.csdn.net/a675420400/article/details/70267249。
本人最近用Android中WebView控件来展示网页,多方便就不用多说了,闲话少叙,直接捞干的。
相信大家在用WebView的过程中,有一些同学会遇到WebView不能加载出网页,网上很多的答案都是设置一些属性,例如设置如下属性
大部分手机是可以用以上方法加载出来网页的,
但因为Android是开源的,各大厂商会有不同的定制,一些Android系统的设备会不信任任何网页的安全证书,导致不能加载网页。如果遇到因为安全证书不能访问的情况可以用如下 代码试试。
主要运用这个函数 onReceivedSslError 这个函数,这个是因为不信任安全证书不能打开网页的回调, 在其中只要调用 handler.proceed();函数就可以, 值得注意的事要把super去掉,因为通过源码可以看到 super中有取消加载网页的方法。
另外如果是因为其他问题,本人也建议看看有没有其他错误的回调,本人在这里没做深入研究。
这里再做一点说明WebView设置 WebViewClient的作用是:默认情况下,点击网页中的链接会使用Android系统自带的浏览器打开这个网页,如果希望点击链接会在自己的Browser中响应,必须覆盖WebView的WebViewClient对象。
本人最近用Android中WebView控件来展示网页,多方便就不用多说了,闲话少叙,直接捞干的。
相信大家在用WebView的过程中,有一些同学会遇到WebView不能加载出网页,网上很多的答案都是设置一些属性,例如设置如下属性
mWebView.loadUrl(mUrl); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setSavePassword(false); mWebView.setVerticalScrollBarEnabled(false); mWebView.setHorizontalScrollBarEnabled(false); // 设置可以支持缩放 mWebView.getSettings().setSupportZoom(true); // 扩大比例的缩放 mWebView.getSettings().setUseWideViewPort(true); // 自适应屏幕 mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); mWebView.getSettings().setLoadWithOverviewMode(true);
大部分手机是可以用以上方法加载出来网页的,
但因为Android是开源的,各大厂商会有不同的定制,一些Android系统的设备会不信任任何网页的安全证书,导致不能加载网页。如果遇到因为安全证书不能访问的情况可以用如下 代码试试。
mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { //super.onReceivedSslError(view, handler, error); handler.proceed(); } });
主要运用这个函数 onReceivedSslError 这个函数,这个是因为不信任安全证书不能打开网页的回调, 在其中只要调用 handler.proceed();函数就可以, 值得注意的事要把super去掉,因为通过源码可以看到 super中有取消加载网页的方法。
另外如果是因为其他问题,本人也建议看看有没有其他错误的回调,本人在这里没做深入研究。
这里再做一点说明WebView设置 WebViewClient的作用是:默认情况下,点击网页中的链接会使用Android系统自带的浏览器打开这个网页,如果希望点击链接会在自己的Browser中响应,必须覆盖WebView的WebViewClient对象。
相关文章推荐
- 关于webview加载网页,返回后总是刷新页面问题解决
- webview加载html5网页,有些网页功能不能实现的问题
- webview加载网页图片不能充满屏的问题
- Android WebView加载Html文本不能适配,以及图片中间有空白的问题
- Android使用webview加载网页,解决上传文件适配3.0、4.0、5.0手机存在的问题。
- 关于Android之WebView加载网页缓存和清除问题
- 关于WebView加载html图文时图像适配屏幕的问题
- android 使用webview加载网页问题
- iOS 加载HTML的相关问题(与JS的互相调用和WKWebView加载本地网页)
- 关于Android4.4以下版本Webview执行LoadUrl加载js导致键盘隐藏的问题(富文本编辑器)
- Android webview 加载三方连接的不能下载文件问题
- Android webview加载https网页时图片无法加载显示问题
- webview加载https页面图片不能显示问题
- 关于WebView.goBack()在有的网页无法返回的问题的解决方法
- 关于Webview执行goBack不能返回的问题解决
- AndroidWebView的销毁和无法加载天猫网页的问题
- Android使用WebView加载有声音或视频的网页时,关闭webView时,声音没有关闭的问题
- 解决用WebView去加载网页在部分手机上闪退问题
- 解决android 5.0 webview不能加载http与https混合内容的问题