- 浏览: 60279 次
- 性别:
- 来自: 大连
文章分类
最新评论
对于 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
本文档将介绍由 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
发表评论
-
Jquery实现表格行的动态增加与删除
2014-05-29 08:45 1215<!DOCTYPE html PUBLIC " ... -
CSS3伪类选择器
2014-04-18 09:32 565CSS的伪类语法和别的语 ... -
Jquery实现选中左边的下拉菜单点击按钮之后跑右边
2014-04-15 14:34 1012script代码: <script type=" ... -
html之marquee详解
2014-03-28 10:07 601该标签不是HTML3.2的一部分,并且只支持MSIE3以后内核 ... -
Html中a标签的四个属性 link ,visited , hover ,active 是有顺序的! LVHA
2014-03-25 15:39 18441。html中a标签的四个属性书写是有顺序的,如果顺序不对,显 ... -
修改360浏览器内核
2014-03-10 17:19 1886浏览器内核控制Meta标签说明文档 背景介绍 由于众所周知 ... -
实现DIV层内的文字垂直居中
2014-03-07 14:03 714有时候,为了网页设计的美观,需要把div+css设计的页面里的 ... -
bootstrap时间控件
2014-03-06 13:27 1177<!DOCTYPE html PUBLIC " ... -
修改IE浏览器默认的文档模式
2014-02-28 13:26 1809开始运行输入C:\Windows\System32\gpedi ... -
网页制作中Iframe自适应高度的解决办法
2013-12-27 10:14 551进行网页设计时,由于网站的海量信息以及标准化的网页制作模式 ... -
Jquery获取当前屏幕的宽度、高度
2013-12-05 14:48 893<script type="text/java ... -
iframe,frameset区别
2013-12-05 10:24 535■ 框架概念 : 所谓框架便是网页画面分成几个框窗,同时取得 ... -
顶部浮动
2013-11-29 09:37 408<!DOCTYPE html PUBLIC " ... -
js+JQuery实现返回顶部功能
2013-11-18 11:05 504很多网站上都有返回顶部的效果,本文阐述如何使用jquery实现 ... -
转 CSS hack:针对IE6,IE7,firefox显示不同效果
2013-09-05 13:55 963CSS hack:针对IE6,IE7,firefox显示不同效 ... -
white-space:
2013-08-30 10:57 452定义和用法 white-space 属性设置如何处理元素内的空 ... -
通过css将直角矩形变为圆角矩形
2013-08-30 10:56 1141{border-radius:6px 6px 0 0} -
整合IE7与其他IE版本的兼容
2013-08-21 09:39 538<!--[if lte IE 7]> <d ... -
常见浏览器兼容性问题与解决方案css篇
2013-08-12 17:17 737所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同 ... -
如何在页面中设置IE浏览器的文档模式
2013-08-04 12:58 1053如何在页面中设置IE浏 ...
相关推荐
meta http-equiv=X-UA-Compatible content=IE=EmulateIE7>强制使IE8浏览器使用IE7模式渲染。 昨天看淘宝页面源代码<meta http-equiv=”X-UA-Compatible” content=”IE=7, IE=9″>加了个。 不知用意,请教...
metahttp-equiv=X-UA-Compatiblecontent=IE=EmulateIE7> 6 <title>百度一下,你就知道</title> 7 [removed]varwpo={start:newDate*1,pid:109,page:‘superpage’}[removed] <meta ...
<meta http-equiv=X-UA-Compatible content=IE=EmulateIE7> 百度一下,你就知道 </title> <script>var wpo={start:new Date*1,pid:109,page:‘superpage’} <meta http-equiv=X-UA-Compatible content=IE=...
而content="IE=EmulateIE7"模式遵循<!DOCTYPE>指令。对于多数网站来说,它是首选的兼容性模式。 目前IE8尚在测试版中,所以为了避免制作出的页面在IE8下面出现错误,建议直接将IE8使用IE7进行渲染。也就是直接在...
使mainiframe的高度根据网页高度自定义,在IE7中可以使用,IE8中无法使用,只要在<head></head>之间加入<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />,IE8调用IE7的渲染模式,就可以使mainiframe...
META HTTP-EQUIV="X-UA-Compatible" CONTENT="IE=EmulateIE7"> 2、 修改webcontent/birt/ajax/lib 文件下 /prototype.js 第564行 var Ajax={这行 交换加载顺序 代码如下: var Ajax = {getTransport: function() ...
热门的tag非IE8莫属 各浏览器厂商争相发布版本更新 部分网页也存在与IE8的...meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 只要IE8读到这个标签,它就会自动启动IE7兼容模式,保证页面完整展示
X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含!DOCTYPE指令,都像是使用...而content="IE=EmulateIE7"模式遵循!DOCTYPE指令。对于多数网站来说
怎么用一行代码解决CSS各种IE各种兼容问题 <meta ...而content="IE=EmulateIE7"模式遵循<!DOCTYPE>指令。对于多数网站来说,它是首选的兼容性模式。为了避免制作出的页面在IE8下面出现错误
meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ />就可以解决,实际测试根本没有效果,原来是在ScrollPic.js里有个cssFloat这个样式除ie外都支持就tmd ie不支持,解决方法改为styleFloat。这时...
meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 /> 浏览器使用IE7兼容模式,利用IE7渲染模式,这样可以保证最大的兼容性。 但若网站有很多页面。若一页一页改,那要累晕的,可以考虑在IIS里加入如下描述...
meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ /> 只要IE8一读到这个标签,它就会自动启动IE7兼容模式,保证页面完整展示。 还有一种方法是针对整个网站的,在IIS中加入如下描述符就可以有...
IE8在默认情况下是使用全新的标准模式(Standard Mode)显示引擎来显示网页...meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> 代码示例: 复制代码代码如下:<html> <head> <!– Use
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 加在<head>后面第一句 如果没看明白的可以参考软件开发网的源码。
meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ /> <title>图片翻转效果</title> <style type=”text/css”> .box {overflow:hidden;position:relative;} .txt {width:100%;...
meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ /> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>超漂亮的仿腾讯弹出层效果</title
m11,m12,m21.m22是控制角度的 ...meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE8″ /> <style type=”text/css”> body { font-family: “Arial”, sans-serif; } #example { position:
最近基于jQuery和Bootstrap框架实现了一个仿知乎动态列表的前端效果,基本实现了和知乎动态列表相同的效果。...meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> <meta name="viewport
meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">以支持条件性注释,启用 polyfill。使用工具配合 (命令行,管理工具) :管理项目,简化维护工作量,降低上手成本。使用 (可持续集成) :一键打包...