在国内有一个比较特别的现象,很多网站对浏览器的兼容性比较差,特别是一些网上银行、公共服务网站等,虽然现在IE浏览器已经推出了IE11版本,但是这些网站目前只支持IE8及以下版本。所以目前在国内使用IE6\IE7\IE8等旧版浏览器的用户占比还比较多。
另一外方便,有些比较现代的网站,采用了很多HTML5、CSS3等最新的网络标准,IE8这些老旧的浏览器是无法支持的,而其他非IE浏览器对这些标准支持程度都比较高。为了应对这样的情况,所以国内很多互联网公司推出了“双核”浏览器。
“双核”浏览器内部的两个内核分别是IE内核和WebKit内核。
“双核”浏览器的两个内核并不能同时为一个网页进行渲染排版工作,而是根据我们的需要,选择两者之中更适合当前网页的内核来进行渲染排版。IE内核主要用于兼容“老一辈”的网页,使其能够正常显示;WebKit内核则用于渲染“新一代”的网页,从而发挥出更快的显示速度、更好的显示效果、更优异的脚本执行性能。
在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"> 同时也可以同时指定多个内核名称,之间以符号”|”进行分隔:<meta name="renderer" content="webkit|ie-comp|ie-stand"> 此时浏览器将会按照从左到右的先后顺序选择其具备的渲染内核来处理当前网页。
IE8引入新的概念“文档模式”:要强制浏览器以某种模式渲染页面,可以使用
<meta http-equiv="X-UA-Compatible" content="IE=IEVersion">
IE的版本(IEVersion)有以下一些不同的值:
Edge:始终以最新的文档模式来渲染页面。忽略文档类型声明。
EmulateIE9:如果有文档类型声明,则以IE9标准模式渲染页面,否则将文档模式设置为IE5。
EmulateIE8:如果有文档类型声明,则以IE9标准模式渲染页面,否则将文档模式设置为IE5。
EmulateIE7:如果有文档类型声明,则以IE9标准模式渲染页面,否则将文档模式设置为IE5。
9:强制以IE9标准模式渲染页面,忽略文档类型声明。
8:强制以IE8标准模式渲染页面,忽略文档类型声明。
7:强制以IE7标准模式渲染页面,忽略文档类型声明。
5:强制将标准模式设置为IE5,忽略文档类型声明。
这样写可以达到的效果是如果安装了GCF,则使用chrome内核来渲染页面,如果为安装GCF,则使用最高版本的IE内核进行渲染。
通过document.documentMode属性可以知道页面使用的是什么文档模式。
< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />