关于Oppo、Vivo手机低于Android 7.0版本WebView中JS不执行,CSS加载异常的问题

html-css05

关于Oppo、Vivo手机低于Android 7.0版本WebView中JS不执行,CSS加载异常的问题,第1张

项目中出现一个兼容性问题,Oppo、Vivo手机Webview加载本地JS、CSS不执行

一、前提 OV手机低于android 7.0版本,

二、baseUrl是Https的

三、使用: webView.loadDataWithBaseURL(baseUrl, html, "text/htmlcharset=UTF-8", "utf-8", null) 方法加载

解决办法

还有一种不太好的解决办法: webView.loadDataWithBaseURL(null, html, "text/htmlcharset=UTF-8", "utf-8", null)

但是这样会导致页面内不是完整路径的图片找不到。

Bug调试

1:doctype没声明,带来的IE浏览器盒模型解析bug

解决: 进行xhtml 正确声明,如strict声明

2:浏览器的初始值不同带来的.

解决:进行css初始化.

3:自身代码不规范带来的bug,

解决:面壁

4:浏览器的bug带来的.

4.1 IE6, 有双倍margin bug

是指:浮动方向上的margin值会加倍.

例如: 某元素 float:leftmargin-left的值是10px, 那么页面上会解析为20px

同时 ,float:right, margin-right也会加倍

解决方案: 设置漂浮元素的_display:inline

4.2: 3像素bug,

解决:规范float的用法

4.3: IE关于a标签的4个伪类的兼容bug

答:对于IE, 如果a:link方式声明了标签的样式

可能会引来 visited伪类的解析异常

解决: 去掉a:link,以 a 来代替