兼容IE8代码<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Oct 14

兼容IE8代码<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 不指定

兼容IE8代码
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
其实就是把IE8当做IE7用,让W3C见鬼去了!

参考文档:
Quotation

css兼容IE8
微软在IE8提供三种解析页面的模式  IE8 Standard Modes :默认的最标准的模式,严格按照W3C相关规定  IE7 Standards Modes :IE7现在用的解析网页的模式,开起机关是在中加入   Quirks Modes :IE5用的解析网页的模式,开起机关是删除HTML顶部的DOCTYPE声明   注意:不同模式间的网页在IE8中可以互相 frame ,因此因不会模式下的DOM和CSS渲染不一样,所以会引发很多问题,务必注意如果你的页面对IE7兼容没有问题,又不想大量修改现有代码,同时又能在IE8中正常使用,微软声称,开发商仅需要在目前兼容IE7的网站上添加一行代码即可解决问题,此代码如下:  

另外今天修改了关于前端测试的工具的文章《模拟多浏览器兼容测试工具-IETester》可以到http://tommyhu.cn/analog-multi-browser-compatibility-testing-tool-ietester_9305/访问!文中推荐的是经典的IETester(提供IE5,IE6,IE7,IE8环境测试),IEcollection,Expression Web SuperPreview 测试版

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

未来兼容性中的 META 标记和锁定注意:本文档是预备文档,随时可能变更。

对于 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 模式呈现内容时,无论页面是否包含 指令,都像是使用了 Windows Internet Explorer 7 的标准模式。

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

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>
</html>


▲返回顶部
相关日志(relate log)

Last modified by tommyhu on2009/10/14 20:46

互联网开发网友 Email Homepage
2011/06/03 02:49
一个活在本人世界里的人
互联网开发网友 Email
2010/01/06 10:30
IE=8  的时候 IE7本身不会变成IE8的样式 但是世界之窗 360 这样的是跟随IE8的样式的  也不知道是不是因为我的IE7浏览器是绿色版本的原因
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot