android WebView加载网页白屏问题优化处理
问题描述:
使用webview加载Web界面时,会出现界面白屏的情况。http下通常问题不大,通常https白屏的可能性很大,而且通常没有任何报错。
解决方案:
1、启用javascript。
2、使用setDomStorageEnabled方法来支持HTML5中的一些控件标签。【重要】
3、允许有https和http混合的内容。
4、跳过页面中的特殊url。
5、允许证书错误。
6、允许javascript错误。【重要】
话不多说开搞代码如下:
开启网络权限 :
<uses-permission android:name="android.permission.INTERNET" />
WebView webview = findViewById(R.id.viewWeb);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true); // 启用javascript
settings.setDomStorageEnabled(true); // 支持HTML5中的一些控件标签
settings.setBuiltInZoomControls(false); // 自选,非必要
//处理http和https混合的问题
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW