解決360瀏覽器兼容模式的頁面顯示問題


原文地址

(我比較納悶,360的兼容模式這么狗屎,為什么還有存在的必要性……)

由於眾所周知的情況,國內的主流瀏覽器都是雙核瀏覽器:基於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
各內核UA示例

備注

這個功能其實和IE9的X-UA-Compatible很類似,關於IE幾個內核的實現介紹,請看:
http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site-developers.aspx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM