meta标签 meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />解析

 

在练习css3动画特效时遇见如下代码 
< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /> 
逛了逛前辈们的博客园,把对于该代码的解析做了总结:

 

常用的例子:

  
// 以上代码告诉IE浏览器,无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面。
  
  
// 以上代码告诉IE浏览器,IE8/9都会以IE8引擎来渲染页面。  

  
// 以上代码告诉IE浏览器,IE8/9及以后的版本都会以最高版本IE来渲染页面。  

  
  

// 以上代码IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame.
  1. 为什么要用X-UA-Compatible?

    这是IE8的专用标记,是用于指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式以此来解决部分兼容问题,在网页中,其指定的模式的优先权高于服务器中(通过HTTP Header)所指定的模式,兼容性模式设置优先级: 
    meta tap>http header 
    例如:

    • http-equiv="X-UA-Compatible" 
      content="IE=7">
       
      以上代码告诉IE浏览器,无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面

    • http-equiv="X-UA-Compatible" 
      content="IE=edge">
       
      以上代码告诉IE浏览器,IE8/9以及以后的版本都会以最高版本IE来渲染界面

书写时需要注意两点:

  1. 据官网定义X-UA-compatible标头不区分大小写,但是,它必须写在网页中除了title元素和其他meta以外的所有其他元素之前,如果不是,这句话将不起作用

    1. content 里的内容应该书写为IE=8。而不是直接书写IE8


    2. 解释cheomre=1?

      chrome=1可以激活Chrome Frame 
      Google Chrome Frame(谷歌内嵌浏览器框架GCF),这个插件可以让用户的IE浏览器外不变,但用户在浏览网页时,实际上使用的时IE浏览器,而且支持IE6,7,8等多个版本浏览器 
      上文提到的meta标签,是在安装了GCF后,用来指定页面chrome内核来渲染

      GCF下载地址: http://code.google.com/intl/zh-CN/chrome/chromeframe/

      安装完成后,如果你想对某个页面使用GCF进行渲染,只需要在该页面的地址前加上 gcf: 即可,例如: gcf:http://cooleep.com

      但是如果想要在开发时指定页面默认首先使用GCF进行渲染,如果未安装GCF再使用IE内核进行渲染,该如何进行呢?

      标记用法: 
      (http://www.chromium.org/developers/how-tos/chrome-frame-getting-started,需翻-墙)

      所以:< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />可以达到效果: 
      如果安装了GCF,则使用GCF来渲染页面,如果未安装GCF则使用最高版本的IE内核来进行渲染。


为什么要用X-UA-Compatible?

在IE8刚推出的时候,很多网页由于重构的问题,无法适应较高级的浏览器,所以使用X-UA-Compatible标签强制IE8采用低版本方式渲染 
使用下面这段代码之后,开发者无需考虑网页是否兼容IE8浏览器,只要确保网页在IE6,IE7下的表现就可以了。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hhthwx/article/details/77188103

你可能感兴趣的:(JavaScript,html)