时间:2021-07-01 10:21:17 帮助过:47人阅读
本文在本人博客首发,地址:微信浏览器是移动端的IE6?微信升级内核后Html5和CSS3兼容性总结
2016年4月,自从微信浏览器X5 升级Blink内核之后,各前端社区一片高潮,仿佛看到了前端er,眼含热泪进而抱头痛头的说:终于可以不用兼容这“移动端的IE6 ”了,可以早点回家了!!!
那真实情况是不是这样呢?正好最近在做一款微信的小游戏,项目结束后,我做了一个小的总结,分享如下,时间宝贵,先上结论。
总的来说,自从微信4月升级 X5 Blink内核之后,兼容性大大好转。
从我最近调试游戏和微信端的页面和以下测试来看,基本和媒体预期一致,Html5和Css3兼容良好。希望后面X5的Blink能够保持一定节奏的更新,不要那么多坑。
真机测试html5测试测试地址:HTML5test - How well does your browser support HTML5?
测试结果:
该网站不支持输出报告:( ,只截了一个图。
(说明,chrome 49 测试支持度为:52%,相对来说,下面浏览器的测试对CSS3的支持度还是比较高的 )
测试地址:The CSS3 Test
注:从Layabox引擎的游戏运营统计数据上看,低于IOS 8.0的游戏用户终端占比仅为3%左右。几可忽略不计。
FYI官方人员说明x5浏览器性能太次了,CSS3有些不支持,比chrome差多了
报道基于BLINK的新X5内核已经在手机QQ浏览器上上线了,最近在微信、手机QQ、空间上灰度。 4月份应该会全量发布。
很抱歉给大家的开发带来了不便。
这里介绍一下微信、手机QQ、空间内嵌X5的背景:最初是因为在微信发现系统WebView的一些安全漏洞,对微信业务影响非常严重,但是这些漏洞单纯在APP侧无法解决,所以微信提出要求内嵌X5内核替换系统WebView。后来手机QQ、空间也提出了内嵌X5的需求。所以为了APP的安全考虑,这里是不可能让前端控制用不用X5的,不然的话,恶意的网站直接跳过X5,利用系统WebView的安全漏洞,就可以获取用户的银行账号等信息了。
内嵌X5最初是解决APP的问题,主要是APP终端开发的述求,前端同学没有参与,上线后,给前端同学带来了一些挑战,这主要是因为之前的X5内核是基于Android 4.2 WebView定制优化而来的,很多H5, CSS3属性支持是以Android 4.2系统为基础的,虽然后续我们在此基础上做了增强,但是比起Chrome的Blink内核,还是要差很多。 而Android 4.4开始,系统WebView切换到了Blink内核,所以导致在新Android机型上,X5内核的一些CSS3/H5支持弱于系统WebView。
为了解决这个问题,去年X5内核团队,投入了全部人力,全力将X5内核升级到了Blink。 全新的X5内核基于Android 5.0系统的Blink内核,已经在15年11月份在QQ浏览器6.2版本上线,经过两个版本的迭代,现在基本稳定,近期已经开始在微信、手机QQ和空间上灰度,预期会在4月份全量上线。新内核上线后,会在新Android版本手机上对齐Chrome blink内核在前端的表现能力,同时在低版本的Android手机上也提供相同表现能力,相信会给前端同学带来更多的想象空间。
iOS 8 HTML5性能测试:苹果有多爱HTML5?
相关信息官网:腾讯浏览服务
内核信息:腾讯浏览服务
caniuse测试: X5 Caniuse Tests
调试方法:【帮助文档】宿主App下TBS Inspector网页调试
一言以蔽之:微信瀏覽器就是手機上的IE6 微信不支持Flex布局,只能支持早期的-webkit-flex-box。我最看中的justify-content: space-around完全不能用。 说个微信里的坑吧,不知道是个例还是普遍,之前需要给元素添加border-radius:5px与transform: matrix(1, 0, 0, 1, 0, 0);两个css属性,如果就这样加上,圆角失效,如果改成border-radius:5px;-webkit-ransform: matrix(1, 0, 0, 1, 0, 0);就没问题;如果改成transform: matrix(1.1, 0, 0, 1, 0, 0);即只要matrix里不是1,0,0,1,0,0就没问题。。。