项目开发中嵌入webView记录一下遇到的坑,以及解决办法。
WebView出现的一些问题
1、页面加载不出来(解决对某些标签不支持问题)1
2 // 开启 DOM storage API 功能
webView.getSettings().setDomStorageEnabled(true);
2、在Android 5.0上webview默认不允许加载http与https混合内容(加载的图片出不来)1
2
3if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
3、一些其他的设置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18//允许使用js
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
//防止乱码
webView.getSettings().setDefaultTextEncodingName("utf-8");
//关闭webview中缓存
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //支持自动加载图片
webView.getSettings().setLoadsImagesAutomatically(true);
//设置可以访问文件
webView.getSettings().setAllowFileAccess(true);
//当webview调用requestFocus时为webview设置节点
webView.getSettings().setNeedInitialFocus(true);
//支持通过JS打开新窗口
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
//解决加载时空白
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.setVerticalScrollBarEnabled(false);
webView.setHorizontalScrollBarEnabled(false);