由於眾所周知的情況,國內的主流浏覽器都是雙核浏覽器:基於Webkit內核用於常用網站的高速浏覽。基於IE的內核用於兼容網銀、舊版網站。以360的幾款浏覽器為例,我們優先通過Webkit內核渲染主流的網站,只有小量的網站通過IE內核渲染,以保證頁面兼容。在過去很長一段時間裡,我們主要的控制手段是一個幾百k大小網址庫,一個通過長期人工運營收集的網址庫。
盡管我們努力通過用戶反饋、代碼標簽智能判斷技術提高浏覽器的自動切核准確率。但是在很多情況下,我們仍然無法達到百份百正確。因此,我們新增加了一個控制手段:內核控制Meta標簽。只要你在自己的網站裡增加一個Meta標簽,告訴360浏覽器這個網址應該用哪個內核渲染,哪麼360浏覽器就會在讀取到這個標簽後,立即切換對應的內核。並將這個行為應用於這個二級域名下所有網址。
目前該功能已經在所有的360安全浏覽器實現。我們也建議其它浏覽器廠商一起支持這個實現。讓這個控制標簽成為行業標准。
代碼示例
在head標簽中添加一行代碼:
<html> <head> <meta name="renderer" content="webkit|ie-comp|ie-stand"> </head> <body> </body> </html>
content的取值為webkit,ie-comp,ie-stand之一,區分大小寫,分別代表用webkit內核,IE兼容內核,IE標准內核。
若頁面需默認用極速核,增加標簽:<meta name="renderer" content="webkit">
若頁面需默認用ie兼容內核,增加標簽:<meta name="renderer" content="ie-comp">
若頁面需默認用ie標准內核,增加標簽:<meta name="renderer" content="ie-stand">
注意:引號要英文狀態下的,直接復制代碼後看一下格式對不對,請自行更正。
各渲染內核的技術細節
內核 Webkit IE兼容 IE標准
文檔模式 Chrome 21 IE6/7 IE9/IE10/IE11(取決於用戶的IE)
HTML5支持 YES NO YES
ActiveX控件支持 NO YES YES
備注
這個功能其實和IE9的X-UA-Compatible很類似,關於IE幾個內核的實現介紹,請看:
http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site-developers.aspx
今天當我嘗試一段js代碼的時候,猜測可能360兼容模式下,ie版本不是最高版本,代碼比較正,例如下面的代碼,360浏覽器下一定要把代碼寫到body標簽裡面。裡面浏覽器就不行
<body> <div id="dxy"></div> <script> var getId=function(id){ return "string"==typeof(id)?document.getElementById(id):id; } alert("ok"); getId("dxy").innerHTML="<font color=red></font>"; </script> </body>