最近在和團隊的另外一下同事一起開發一個微信公眾號的前端頁面,其實就是做一個Web App,然后套在微信里面跑。那么問題來了,我們會用到HTML5的一些新特性,我想知道微信內置的瀏覽器是使用什么內核的,是直接調用系統的內核還是自己放了一個內核進去呢?
注意:瀏覽器內核是非常復雜的東西,本文目的主要是幫助和我一樣,在做基於微信的Web App的時候,遇到同樣疑問的大伙。
本次測試環境:
手機型號:三星GT-I8258(移動定制機)
手機系統:Android 4.0.4
微信版本:微信6.1
PC系統:Windows7 SP1 64 bit
第零步,當然是先查一下資料,網上的資料良莠不齊,更新時間也比較晚了,只是籠統的說到了Android上面是使用自帶的WebKit內核,iOS里面由於蘋果的原因,使用了自帶的Safari內核(這不也是WebKit內核嗎?),相應的可信度就不高了,覺得還是要自己動手試試啊。
第一步,測試瀏覽器對Html5的支持度,近幾年國內瀏覽器廠商對HTML5這個概念抄得很火,所以我想到了HTML5實驗室、HTML5測試這樣的網站,上網一搜,我這里選用了http://chrome.360.cn/test/html5/index.html然后我們用微信打開這個網頁,PC端登陸微信,發給自己就好了,我們直接看看測試的結果:
哇(๑ŐдŐ)b 有沒有驚呆了!說實話,我是被嚇了一跳,滿分500,微信得分472,我不知道其中有沒有使用黑技術。
細心的人可能已經發現了,截圖里面有提到該網站識別到當前的瀏覽器是QQ瀏覽器5.4,Android系統版本是4.0.4,是的,所以真相要浮出水面了,微信內置的瀏覽器內核是QQ瀏覽器5.4的內核,手機QQ瀏覽器從版本4.0開始就使用了自主研發的X5內核。還有一處可以說明微信就是使用了QQ瀏覽器的內核,請看圖:
當你把整個網頁往下拉,就像網頁被你扯下來了,微信自己就告訴你了:QQ瀏覽器X5內核提供技術支持,所以現在沒有什么懸念了吧?
什么?你覺得472分沒什么大不了,說明不了什么?那么請看第二步。
第二步,其他瀏覽器HTML5支持度測試
手機端:
最常用:UC瀏覽器V10.1.3.546
435分
最基本:Android自帶瀏覽器
431分
電腦端:
最常用:Chrome Version 40.0.2214.93 m (64-bit)
453分
最基本:IE:呵呵,你可以自己試試。
最后,謝謝大家,希望能幫到大家。
/*------------ 更新已知情況,2015年2月5日 ------------*/
如果你的微信版本是6.1以下,微信會調用系統自帶的瀏覽器去加載渲染網頁;
如果你的微信版本是6.1以上,並且手機裝有QQ瀏覽器,微信就會調用QQ瀏覽器的X5內核去加載渲染網頁。