背景:最近做了一个网站,传单服务器之后,每次打开都是乱码,不对啊,我在本地测得明明是排版很整齐啊,然后发现,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 |