关于 HTTP meta 的 IE=edge 说明

来源:互联网 发布:淘宝网如何提高流量 编辑:程序博客网 时间:2024/06/06 16:41

兼容模式的由来

IE按照W3C的标准开发了新版本,为是旧版本同样能使用,微软在IE8以后加入了所谓的兼容性模式,也就是能够在旧的网站使用兼容性模式浏览,而一切正常,而到比较新的网站就用正常模式浏览。
特别注意的是, 兼容模式是从IE8 才开始有的。

如何定义兼容模式

对于兼容模式,微软的给我们的解决方案是设置X-UA-Compatible。

X-UA-compatible 标头不区分大小写;不过,它必须显示在网页中除 title 元素和其他 meta 元素以外的所有其他元素之前的标头中。

语法也很简单,在html中加入

<meta http-equiv="X-UA-Compatible" content="IE=7" /> 
以上的作用是:

无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面。

content 除了设置成IE=7, 还可以设置成:

1.< meta http-equiv = "X-UA-Compatible"content = "IE=edge,chrome=1" />

这样写可以达到的效果是如果安装了GCF(谷歌内嵌浏览器框架GCF),则使用GCF来渲染页面,如果未安装GCF,则使用最高版本的IE内核进行渲染。

备注:谷歌内嵌浏览器框架

Google Chrome Frame(谷歌内嵌浏览器框架GCF)。这个插件可以让用户的IE浏览器外不变,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核,而且支持IE6、7、8等多个版本的IE浏览器

2. content="IE=EmulateIE7"

根据 <!DOCTYPE> 指令确定如何呈现内容。标准模式指令以Windows Internet Explorer 7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。与 IE7 模式不同,EmulateIE7 模式遵循 <!DOCTYPE> 指令。对于多数网站来说,它是首选的兼容性模式。

3.< meta http-equiv = "X-UA-Compatible"content = "chrome=1" >

用以声明当前页面用chrome内核来渲染。

4. 通过修改HTTP头文件的方法来实现让指定的页面使用GCF内核进行渲染:

在HTTP的头文件中加入以下信息:X-UA-Compatible: chrome=1
在Apache服务器中,确保 mod_headers 和 mod_setenvif文件可用,然后在httpd.conf中加入以下配置信息:

< IfModule mod_setenvif.c>
   < IfModule mod_headers.c>
     BrowserMatch chromeframe gcf
     Header append X-UA-Compatible "chrome=1" env=gcf
   </ IfModule >
</ IfModule >
在IIS7或者更高版本的服务器中,只需要修改web.config文件,添加如下信息即可即可:
< configuration >
   < system.webServer >
      < httpProtocol >
         < customHeaders >
           < add name = "X-UA-Compatible"value = "chrome=1" />
         </ customHeaders >
      </ httpProtocol >
   </ system.webServer >
</ configuration >


阅读全文
0 0
原创粉丝点击