`
xinran001
  • 浏览: 12796 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何定义IE的文档兼容模式

阅读更多
 
由于现在IE浏览器的多个版本共存,同时浏览器的升级也给我们的老项目带来了不可预测的风险。浏览器的兼容性问题开
始困扰我们的在线项目了。

还好,微软的给我们的解决方案是设置X-UA-Compatible。

X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。很多网站为了方便让页面在IE8/9下降
级成显示为IE7就使用了X-UA-Compatible 。IE8刚开始推出的时候跟IE7有不少不同,所以为了避免制作出的页面在IE8
下面出现错误,建议直接将IE8使用IE7进行渲染。这一做法过于方便,以至于现在太多网站声明了使用IE7引擎来解析页
面。

语法:
 
<meta http-equiv="X-UA-Compatible" content="IE=7" />
  
以上代码告诉IE浏览器,无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面。
<meta http-equiv="X-UA-Compatible" content="IE=8" />
 
以上代码告诉IE浏览器,IE8/9都会以IE8引擎来渲染页面。
<meta http-equiv="X-UA-Compatible" content="edge" />
 
以上代码告诉IE浏览器,Windows以最高版本的IE显示内容。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
 
以上代码告诉IE浏览器,根据 <!DOCTYPE> 指令确定如何呈现内容。标准模式指令以Windows Internet Explorer 7
标准模式显示,而 Quirks 模式指令以 IE5 模式显示。与 IE7 模式不同,EmulateIE7 模式遵循 <!DOCTYPE> 指
令。对于多数网站来说,它是首选的兼容性模式。
 
注意X-UA-Compatible放置的位置,MSDN《定义文档兼容性》中是这样说的:The X-UA-compatible header is
not case sensitive; however, it must appear in the Web page’s header (the HEAD section)
before all other elements, except for the titleelement and other metaelements.

X-UA-compatible 标头不区分大小写;不过,它必须显示在网页中除 title元素和其他 meta 元素以外
的所有其他元素之前的标头(HEAD 节(可能为英文网页))中。
 
例如下面正确的例子:

    
<!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=IE7,IE9">
    <title></title>
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" href="...">
    <script type="text/javascript" src="..."></script>
    </head>
    <body>
    <!--网页主体-->
    </body>
    </html>
  
最杯具的用法:
 
<meta charset="utf-8">
    <title></title>
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" href="...">
    <meta http-equiv="X-UA-Compatible" content="IE=IE7,IE9">
    <script type="text/javascript" src="..."></script>
对于用上IE9/IE10的人,想跳过IE8,指定在IE7和IE9中渲染,得使用了MSDN文档推荐的语法:
<meta http-equiv="X-UA-Compatible" content="IE=7;IE=9" />
 
但是,以上兼容IE7/IE9的语法方式,会在IE8里会导致BUG,发现在IE8下并没有以IE7的文档模式来渲染页面。

正确的语法规则:

1.定义多种文档模式时,使用逗号(,),而非文档中提到的分号(;) 。
 
    
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
     /*或者是*/
  
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7,IE=EmulateIE9" />
 2.或者以逗号升序连写的方式
<meta http-equiv="X-UA-Compatible" content="IE=7,9" />
  
分享到:
评论

相关推荐

    IE11停用后EDGE兼容模式切换指南.pdf

    2. **Edge兼容模式**:Microsoft Edge的Internet Explorer模式支持所有文档模式和企业模式,允许运行ActiveX控件(如Java和Silverlight)、浏览器帮助程序对象,并且遵循与Internet Explorer相同的安全区域设置和...

    判断IE8兼容性视图工作模式

    这个属性在IE8及以上版本中引入,用于指示当前浏览器的文档模式。在标准模式下,`document.documentMode`将返回对应的IE版本号(如8),而在兼容性视图下,它可能返回7(模拟IE7)或其他更低的值。以下是一个简单的...

    IE兼容模式怎么设置.pdf

    IE浏览器的兼容模式设置对于电脑维护人员来说是一个重要的技能,尤其在维护旧版网站或者需要运行旧插件的网站时,兼容模式显得尤为重要。IE自8版本以后提供了兼容模式,使得旧版网站可以在新的浏览器版本中正常运行...

    文档模式与IE浏览器模式

    ### 文档模式与IE浏览器模式 #### 一、引言 随着Web技术的不断发展与变化,不同的浏览器在处理HTML和CSS的方式上存在着细微差异。为了兼容各种基于不同标准开发的网站,微软在Internet Explorer 8及之后的版本中...

    IE兼容性解决IE兼容性解决IE兼容性解决IE兼容性解决

    IE浏览器在不同的DOCTYPE下会有不同的渲染模式,如Quirks Mode、 Transitional 和 Strict 模式。对于IE8,正确声明DOCTYPE可以避免许多兼容性问题,例如: ```html &lt;!DOCTYPE html&gt; ``` 二、使用条件注释 IE浏览器...

    解决各种IE兼容问题_IE6_IE7_IE8_IE9_IE10

    1. `IE=8`:这将强制IE8使用其自身的标准模式,而不是更旧的兼容模式。 2. `chrome=1`:当设置此值时,启用Google Chrome Frame插件,使IE浏览器能够使用Chrome的渲染引擎,从而获得更好的Web标准支持。 3. `IE=7`:...

    IE中兼容模式下JSON未定义

    在IE浏览器中,有时会遇到“JSON未定义”的错误,特别是在使用兼容模式或者较旧版本的IE时。这是因为JSON(JavaScript Object Notation)是ECMAScript 5引入的一个内置对象,而在IE8及以下版本中并未原生支持JSON。...

    IE10兼容性白皮书

    - **定义:**通过正确的文档类型声明来启用 Web 标准文档模式。 - **步骤:** - 使用正确的 DOCTYPE 声明。 - 验证 HTML/CSS 代码符合 Web 标准。 **3. 判断网站未处于标准模式的原因:** - **常见原因:** - ...

    ie与firefox兼容文档

    本文档将深入探讨IE与Firefox之间的兼容性问题,并提供解决策略。 IE与Firefox在解析HTML、CSS和JavaScript时的差异主要源于它们对W3C标准的支持程度以及各自特有的功能。这些差异可能导致布局错误、样式问题以及...

    IE6-IE11兼容性问题列表及解决办法

    IE8的怪异模式(Quirks Mode)和标准模式间的差异,使得在没有正确文档类型声明(DOCTYPE)的情况下,页面渲染会出错。解决方法是确保每个页面都包含正确的DOCTYPE,以便浏览器以标准模式渲染。 IE9在向现代浏览器...

    IE6兼容笔记

    - **避免怪异模式**:正确的DOCTYPE能够确保IE6不会进入向后兼容模式,从而减少布局问题。 - **标准模式**:使用正确的DOCTYPE可以使浏览器工作在标准模式下,遵循W3C标准。 **示例DOCTYPE声明:** 1. **...

    IE5,IE6,IE7,IE8的css兼容性列表

    同时,它默认启用“quirks模式”以兼容老版本的网页,除非在文档类型声明(DOCTYPE)中指定标准模式。在标准模式下,IE8对CSS2.1的支持更加接近W3C标准,但对某些CSS3属性的支持仍不足。 总的来说,IE5至IE8的CSS...

    IE7与IE8的兼容性 配置文档

    通过上述方法,你可以在不修改网站核心代码的情况下,使IE8能够以IE7的渲染模式显示页面,从而解决兼容性问题。这种方法对于那些无法立即更新为现代Web标准的老旧网站来说,是一个非常实用的解决方案。 总之,IE7与...

    验证码IE7、IE8兼容

    5. 文档模式:IE7和IE8存在多种文档模式,如Quirks模式、标准模式等,不同的模式下渲染和行为可能有所不同。确保网页在doctype声明后以标准模式运行,避免因文档模式引起的兼容问题。 6. 兼容性库:可以引入如...

    部署网站时为了兼容IEB在IIS中的配置兼容模式

    本文将深入探讨在IIS(Internet Information Services)服务器上配置兼容模式,以确保网站能够正确地在IE浏览器中展示。 ### IIS与IE兼容模式 IIS是微软提供的一套Web服务器解决方案,它支持多种协议和服务,包括...

    ReprotView2012.rar RDLC报表IE11非兼容模式不显示解决方案(含说明文档)

    RDLC报表IE11非兼容模式不显示解决方案 替换步骤: 1、按先后顺序,依次安装新版本RDLC报表所需的运行环境,如下2个文件: a)1.SqlSysClrTypes2012.msi b)2.ReportViewer2012.msi 2、将本目录bin文件夹中的3个dll...

    IE6兼容心得(自己总结的)

    如果文档类型缺失或不符合标准,则可能导致IE6进入一种被称为“怪异模式”(Quirks Mode)的状态,在这种状态下,浏览器将采用较为宽松且向后兼容的渲染方式,这往往会导致布局问题。 - **HTML4.01 Transitional**:...

Global site tag (gtag.js) - Google Analytics