`

IE=EmulateIE7 标签的作用

阅读更多
对于 Web 开发人员来说,文本兼容性是一个要考虑的重要问题。Windows Internet Explorer 8 引入了文本兼容性模式,该模式允许 Web 开发人员将浏览器设置为以与旧版本相同的方式显示网页,从而允许开发人员选择更新时间。

本文档将介绍由 Windows Internet Explorer 8 支持的文本兼容性模式,以及如何使用自定义标头基于每个页面或每个站点实现这些模式。实现适当的兼容性模式后,可以确保站点与 Windows Internet Explorer 8 及更高版本兼容。

各种兼容性模式
Windows Internet Explorer 8 支持多种兼容性模式,它们可启用不同的受支持的功能,并影响内容的呈现方式。例如,

IE5 模式呈现内容时,像是使用了 Windows Internet Explorer 7 的 Quirks 模式,这与 Windows Internet Explorer 5 显示内容的方式很相似。

IE7 模式呈现内容时,无论页面是否包含 <!DOCTYPE> 指令,都像是使用了 Windows Internet Explorer 7 的标准模式。

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

IE8 模式最大限度地支持行业标准(包括 W3C Cascading Style Sheets Level 2.1 Specification 和 W3C Selectors API,并能有限支持 W3C Cascading Style Sheets Level 3 Specification(工作草案)。

Edge 模式通知 Windows Internet Explorer 以最高级别的可用模式显示内容,这实际上破坏了“锁定”模式。对于 Windows Internet Explorer 8,这与 IE8 模式是等效的。如果(假定)Windows Internet Explorer 的未来版本支持更高级别的兼容模式,设置为 Edge 模式的页面将显示在由该版本支持的最高级别模式中;但是,当使用 Windows Internet Explorer 8 查看时,这些相同的页面仍将显示在 IE8 模式中。由于在 Windows Internet Explorer 的未来版本中呈现页面内容可能出现意外,建议 Web 开发人员将 Edge 模式仅用于测试页面和其他非生产活动。

基于每个页面指定兼容性模式
要为网页指定文本模式,请使用 META 元素,以在该网页中包含 X-UA-Compatible http-equiv 标头。以下示例指定了 EmulateIE7 模式兼容性。

HTML:
<html>
      <head>
      <!-- Mimic Internet Explorer 7 -->
         <title>我的网页</title>
         <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      </head>
      <body>
         <p>内容在此处。</p>
      </body>
</html>
Content 属性指定了该页面的模式;例如,要模仿 Windows Internet Explorer 7 的行为,请指定 IE=EmulateIE7。同样,可指定 IE=5、IE=7 或 IE=8 以选择其中一种兼容性模式。您还可以指定 IE=edge 以通知 Windows Internet Explorer 8 使用最高级别的可用模式。

X-UA-compatible 标头不区分大小写;但是,它必须显示在网页中除 TITLE 和其他 META 元素以外的所有元素之前的标头(HEAD 部分)中。

基于每个站点指定兼容模式
通过使用 Web 服务器为站点定义自定义 HTTP 响应标头,可为网站指定文本模式。HTTP 响应标头是 Web 服务器附加到为响应 HTTP 请求而发送到浏览器中的文件的信息,这些信息通常包含发送回文件的日期、大小和类型。

下列文档介绍了将 Web 服务器配置为将自定义 HTTP 响应标头附加到所有网页中所需的步骤。这将导致 Windows Internet Explorer 8 使用指定的文本兼容性模式,例如 EmulateIE7。

在 IIS 上实现 META 切换
在 Apache 上实现 META 切换
如果使用 Web 服务器指定了默认文本兼容性模式,则可通过在特定的网页中指定其他文本兼容性模式来覆盖该设置。在该网页中指定的模式优先于由服务器指定的模式。

使用脚本确定文本兼容性模式
要使用 Windows Internet Explorer 8 确定网页的文本兼容性模式,请使用 document 对象的 documentMode 属性。例如,将以下内容键入到 Windows Internet Explorer 8 的地址栏中,可显示当前网页的文本模式。

javascript:alert(document.documentMode);

documentMode 属性可返回与页面的文本兼容性模式相对应的数值。例如,如果所选页面支持 IE8 模式,则 documentMode 会返回 8。

注意:在 Windows Internet Explorer 6 中引入的 compatMode 属性已不受支持,取而代之的是在 Windows Internet Explorer 8 中引入的 documentMode 属性。当前使用 compatMode 的应用程序仍然可以在 Windows Internet Explorer 8 中运行;但是,它们已更新为使用 documentMode。

如果希望使用 JavaScript 确定文本的兼容性模式,请在其中包含支持 Windows Internet Explorer 旧版本的代码,如以下示例所示。

JScript:
engine = null;
if (window.navigator.appName == "Microsoft Internet Explorer")
{
      // 这是一个 IE 浏览器。引擎处于哪种模式下?
      if (document.documentMode) // IE8
         engine = document.documentMode;
      else // IE 5-7
      {
         engine = 5; // 假设为 quirks 模式;除非另外证实是其他模式
         if (document.compatMode)
         {
            if (document.compatMode == "CSS1Compat")
               engine = 7; // 标准模式
         }
      }
      // 引擎变量现在包含文本兼容性模式。
}
此处使用的文档对象表示给定浏览器窗口中的 HTML 文档,可用来检查、修改 HTML 文档或将内容添加到该文档以及处理该文档中的事件。

使用条件注释确定文本兼容性模式
如果只需要适应 Windows Internet Explorer,以下代码示例说明了如何使用条件注释来适用于当前版本或旧版本。

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
      <head>
         <title>测试页</title>
         <meta http-equiv="X-UA-Compatible" content="IE=8"/>
         <!--[if gte IE 8]>
         <style type="text/css">
         body {
          color:#0000ff;
          background-color:#000000;
         }
         </style>
         <![endif]-->
         <!--[if lt IE 8]>
         <style type="text/css">
         body {
          color:#000000;
          background-color:#ffffff;
         }
         </style>
         <![endif]-->
      </head>
      <body>
         <h1>
         <!--[if gte IE 8]>
         第 1 章。
         <![endif]-->
         第一章
         </h1>
         <h1>
         <!--[if gte IE 8]>
         第 2 章。
         <![endif]-->
         第二章
         </h1>
         将看到任何版本的文本。
      </body>








本文转载自:http://www.cnblogs.com/0000/archive/2009/11/01/1593851.html
分享到:
评论

相关推荐

    content=”IE=7, IE=9″意思理解

    为了解决这个问题,可以在网站头部添加`&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"&gt;`来强制IE8使用IE7的标准模式。而`&lt;meta http-equiv="X-UA-Compatible" content="IE=7, IE=9"&gt;`则进一步扩展了...

    IE7与IE8的兼容性 配置文档

    - `IE=EmulateIE7`:强制IE8使用IE7的渲染模式,适用于那些为IE7优化的网站。 - `IE=EmulateIE9`:即使在IE8或更低版本的IE中,也强制使用IE9的渲染模式。 ### 实施步骤 1. **服务器端配置**:如果你的网站托管在...

    .net IE8.0排版混乱问题解决

    在.NET项目中,解决IE8排版混乱问题的关键在于正确使用`&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/&gt;`这样的元标签。这个标签的作用是指示IE8(以及更高版本的IE)模拟特定版本的IE进行渲染,以...

    解决各种IE兼容问题_IE6_IE7_IE8_IE9_IE10

    这行代码的作用是告诉IE浏览器以IE7的标准模式来解析和渲染网页,即使用户使用的是更老或更新的IE版本。这样做的目的是确保网页在不同版本的IE下表现一致。例如,如果你发现网页在IE8及更高版本中出现问题,而希望其...

    meta http-equiv=”X-UA-Compatible” content=”IE=7″ 意思是将IE8用IE7进行渲染

    `&lt;meta http-equiv="X-UA-Compatible" content="IE=7"&gt;` 这一行代码是针对Internet Explorer 8(IE8)浏览器的一个特定设置,它的作用是强制IE8以Internet Explorer 7(IE7)的标准模式来渲染网页内容。在IE8之前,...

    WEB程序兼容IE代码

    - `&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/&gt;` 这行代码的作用是告诉IE浏览器使用IE7的渲染引擎来呈现当前网页。其中,`http-equiv`属性相当于HTTP头部字段,`X-UA-Compatible`是特定于IE的一...

    IE兼容插入代码

    这个`&lt;meta&gt;`标签告诉IE使用IE7的渲染引擎来解析页面,即使用户正在使用的是更新的版本,如IE8。需要注意的是,此方法仅对当前页面有效,且必须在其他CSS样式定义或链接之前插入,否则可能无法产生预期效果。 其次...

    一句代码解决IE8兼容问题.docx

    &lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt; ``` 这行代码告诉IE8以IE7的渲染模式来显示网页,从而解决了可能因IE8标准模式下新特性引起的兼容性问题。这种方法适用于单个页面,只需将代码插入...

    IE浏览器和火狐浏览器兼容问题有部分js

    1. **使用Meta标签**:如前所述,在`&lt;head&gt;`标签中加入`&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"&gt;`,使IE8向下兼容至IE7模式。 2. **CSS Hack**:针对不同浏览器的特性编写特定的CSS规则,如...

    IE8 下的问题 转化成IE7 模式.rar

    例如,`&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"&gt;`会让IE8模仿IE7的行为。 4. **条件注释**:IE8支持条件注释,这是一种在HTML中针对IE特定版本插入代码的特殊方式。这部分可能包含如何使用...

    div错位解决IE6IE7IE8样式不兼容问题

    &lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt; ``` 对于服务器配置,可以在`web.config`文件中设置: ```xml &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;add name="X-UA-...

    IE8调用IE7渲染模式,网页高度根据内容高度显示

    &lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt; ``` 此元标签告诉IE8浏览器模拟IE7的渲染引擎,而不是使用其默认的标准模式。当IE8读取到这个标签,它会调整其渲染引擎以匹配IE7的行为。 在问题...

    Ckeditor菜单栏中字体、大小等选项在ie8、ie10中不能展开问题

    这个`&lt;meta&gt;`标签告诉IE使用特定的兼容性模式,`IE=EmulateIE8`意味着即使在IE10这样的较新版本中,也会模拟IE8的行为。这样可以确保Ckeditor4在这些浏览器中按照预期工作,同时解决了菜单选项无法展开的问题。 在...

    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

    - 强制IE8使用IE7模式:`IE=EmulateIE7` - 强制IE8使用IE6模式:`IE=EmulateIE6` - 强制IE8使用IE5模式:`IE=5` 此外,还可以指定一个版本列表,由浏览器自行选择最合适的兼容模式: ```html &lt;meta http-equiv="X-...

    让IE8启动IE7兼容模式的代码

    总结来说,`&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt;`这一行代码是解决IE8与IE7兼容性问题的一种方法,它能让IE8模拟IE7的渲染行为。尽管这种方法在某些情况下是必要的,但长远来看,遵循Web...

    div错位解决IE6、IE7、IE8样式不兼容问题IE6里DIV错位的问题.doc

    &lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt; ``` 这种方法适用于那些不需要IE8所有新特性,但又希望在IE8中正常显示的网站。 ##### 方法二:通过服务器配置 如果需要在整个网站范围内设置IE...

    HTML5 声明兼容IE的写法

    然而,如果某些页面在较新的IE版本中出现问题,可以回退到`IE=EmulateIE7`或`IE=EmulateIE8`,这样浏览器会根据文档类型声明(`&lt;!DOCTYPE&gt;`)来模拟相应的渲染模式。 `Emulate`模式下,浏览器会更注重`&lt;!DOCTYPE&gt;`...

    关于IE8兼容:X-UA-Compatible属性的解释

    在某些情况下,如需确保与旧版IE的兼容,可考虑使用 `IE=EmulateIE7` 或其他特定版本的指令。然而,随着现代浏览器的普及,这种兼容性问题逐渐减少,开发者应该尽量遵循Web标准并测试在多种浏览器环境下的表现。

    修复网页在IE8 下的显示兼容问题

    &lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt; ``` 这段代码告诉IE8使用IE7的渲染引擎来解析和显示网页内容,从而避免因标准模式下的不兼容问题而产生的布局混乱。这种方式对于那些没有进行标准...

    IE8 控件错位的解决方法

    这种做法源于IE8支持多种文档模式,其中“IE=EmulateIE7”指令可以让IE8以IE7的兼容性模式来渲染网页,从而尽可能地避免在IE8中出现的兼容性问题。这行代码的全貌是&lt;meta http-equiv="X-UA-Compatible" content="IE=...

Global site tag (gtag.js) - Google Analytics