背景:最近做了一個網站,傳單伺服器之後,每次打開都是亂碼,不對啊,我在本地測得明明是排版很整齊啊,然後發現,360用的是“相容模式”打開的,這就尷尬了,用戶一打開就是亂碼,這用戶體驗得有多差!用戶可不管你是什麼模式。我研究了一番,終於找到解決辦法。 國內的主流瀏覽器基本都是雙核瀏覽器:基於Webki ...
背景:最近做了一個網站,傳單伺服器之後,每次打開都是亂碼,不對啊,我在本地測得明明是排版很整齊啊,然後發現,360用的是“相容模式”打開的,這就尷尬了,用戶一打開就是亂碼,這用戶體驗得有多差!用戶可不管你是什麼模式。我研究了一番,終於找到解決辦法。
國內的主流瀏覽器基本都是雙核瀏覽器:基於Webkit內核用於常用網站的高速瀏覽。基於IE的內核用於相容網銀、舊版網站。以360的幾款瀏覽器為例,我們優先通過Webkit內核渲染主流的網站,只有小量的網站通過IE內核渲染,以保證頁面相容。當我們在頁面添加屬性值為renderer的內核控制Meta標簽,他就會告訴瀏覽器這個網址應該用哪個內核渲染,瀏覽器就會在讀取到這個標簽後,立即切換對應的內核。並將這個行為應用於這個二級功能變數名稱下所有網址。代碼如下:
<html> <head> <meta name="renderer" content="webkit"> </head> <body> </body> </html>
其中:content的值有三個,以下為各個內核的性質:
content的值 | webkit | ie-stand | ie-comp |
模式 | 極速模式 | IE標準模式 | IE相容模式 |
是否支持HTML5 | ✔ | ✔ | ✘ |
是否支持ActiveX控制項 | ✘ | ✔ | ✔ |
相容性 | Chrome 21 | IE9/IE10/IE11(取決於用戶的IE) | IE6 / IE7 |