content=IE=Edge
简介
为了帮助确保您的网页在将来的 Internet Explorer 版本中具有一致的外观,Internet Explorer 8 引入了文档兼容性。 文档兼容性是对 Microsoft Internet Explorer 6 中引入的兼容性模式的扩展,使您可以选择 Internet Explorer 用于显示网页的特定呈现模式。
本文将说明文档兼容性的必要性,列出对近来的 Internet Explorer 版本可用的文档兼容性模式,并演示如何选择特定的兼容性模式。
了解文档兼容性的必要性
Internet Explorer 的每个主要版本中都会添加一些功能,旨在使浏览器更易于使用、提高安全性以及更紧密地支持行业标准。 随着 Internet Explorer 的功能不断增加,将会出现较早的网站可能无法正常显示的风险。
为了最大程度地降低这种风险,Internet Explorer 6 允许 Web 开发人员选择 Internet Explorer 用来解释和显示其网页的方式。 默认为“Quirks 模式”;在这种模式下,将按照使用较旧的浏览器版本查看网页的方式来显示网页。 “标准模式”(也称为“严格模式”)的特点是可提供对行业标准的最大支持;但是,若要利用此增强的支持,网页中需要包括适当的<!DOCTYPE>
指令。
如果某个站点未包括 指令,则 Internet Explorer 6 将使用 Quirks 模式显示该站点。 如果某个站点包含有浏览器未能识别的有效 指令,则 Internet Explorer 6 将使用 Internet Explorer 6 标准模式显示该站点。 由于已经包含 指令的站点很少,因此兼容性模式切换极为成功。 这样使 Web 开发人员能够选择最佳时间将其站点迁移到标准模式。
随着时间的推移,许多站点都开始依赖标准模式。 这些站点同时还开始使用 Internet Explorer 6 的功能和行为来检测 Internet Explorer。 例如,Internet Explorer 6 并不支持通用选择器;而某些网站将此用作为 Internet Explorer 提供特定内容的方式。
Internet Explorer 7 提供了通用选择器支持等新功能,旨在更全面地支持行业标准。 由于 指令仅支持 Quirks 模式和标准模式这两种设置,因此 Internet Explorer 7 标准模式替换了 Internet Explorer 6 标准模式。
结果,依赖于 Internet Explorer 6 标准模式的行为的站点(如缺乏对通用选择器的支持)将无法检测到新版本的浏览器。 因此,Internet Explorer 特定的内容不会提供给 Internet Explorer 7,并且这些站点不会按预期显示。 由于 Internet Explorer 7 仅支持两种兼容性模式,因此将会迫使受影响站点的所有者更新其站点以支持 Internet Explorer 7。
与任何早期浏览器版本相比,Internet Explorer 8 对行业标准提供了更加紧密的支持。 因此,针对旧版本的浏览器设计的站点可能不会按预期显示。 为了帮助减轻任何问题,Internet Explorer 8 引入了文档兼容性的概念,从而允许您指定站点所支持的 Internet Explorer 版本。 文档兼容性在 Internet Explorer 8 中添加了新的模式;这些模式将告诉浏览器如何解释和呈现网站。 如果您的站点在 Internet Explorer 8 中无法正确显示,则可以更新该站点以支持最新的 Web 标准(首选方式),也可以强制 Internet Explorer 8 按照在旧版本的浏览器中查看站点的方式来显示内容。 通过使用 meta
元素将 X-UA-Compatible
标头添加到网页中,可以实现这一点。
这将允许您选择何时更新站点以支持由 Internet Explorer 8 支持的新功能。
了解文档兼容性模式
Internet Explorer 8 支持很多文档兼容性模式,这些模式启用不同的功能并可影响内容的显示方式。
- “模仿 IE8”模式将告诉 Internet Explorer 使用 指令来确定如何呈现内容。 标准模式指令将以 Internet Explorer 8 标准模式显示,而 Quirks 模式指令将以 IE5 模式显示。 与 IE8 模式不同,“模仿 IE8”模式遵循 指令。
- “模仿 IE7”模式将告诉 Internet Explorer 使用 指令来确定如何呈现内容。 标准模式指令以 Internet Explorer 7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。 与 IE7 模式不同,“模仿 IE7 模式”遵循 指令。 对于很多网站来说,这是首选的兼容性模式。
- IE5 模式呈现内容的方式如同使用了 Internet Explorer 7 的 Quirks 模式来显示内容,这与 Internet Explorer 5 显示内容的方式非常相似。
- 无论页面是否包含 指令,IE7 模式呈现内容的方式均如同使用了 Internet Explorer 7 的标准模式来显示内容。
- IE8 模式可最大程度地支持行业标准(包括 W3C 级联样式表级别 2.1 规范 和 W3C 选择器 API),并提供对 W3C 级联样式表级别 3 规范(工作草案) 万维网链接 的有限支持。
- Edge 模式将告诉 Internet Explorer 以可用的最高级别模式显示内容。 对于 Internet Explorer 8,这等同于 IE8 模式。 假设 Internet Explorer 的将来版本支持更高级别的兼容性模式,那么,设置为 Edge 模式的页面将以该版本支持的最高级别的模式显示。 当使用 Internet Explorer 8 查看时,这些相同的页面仍会以 IE8 模式显示。
由于 Edge 模式的文档使用查看网页所用的 Internet Explorer 版本可用的最高级别模式来显示网页,因此,建议仅将 Edge 模式用于测试页面和其他非生产活动。
指定文档兼容性模式
若要为网页指定文档模式,请使用
meta
元素,以在网页中包含X-UA-Compatible
http-equiv
标头。 以下示例指定“模仿 IE7”模式兼容性。<html> <head><!-- Mimic Internet Explorer 7 --><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" ><title>My Web Page</title> </head> <body><p>Content goes here.</p> </body> </html>
content 属性指定页面的模式;若要模仿 Internet Explorer 7 的行为,请指定“IE=EmulateIE7”。 指定“IE=5”、“IE=7”或“IE=8”可选择相应的兼容性模式。 还可以指定“IE=edge”以告诉 Internet Explorer 8 使用可用的最高级别模式。
X-UA-compatible 标头不区分大小写;不过,它必须显示在网页中除title
元素和其他meta
元素以外的所有其他元素之前的标头中。配置 Web 服务器以指定默认兼容性模式
网站管理员可以通过定义站点的自定义标头,将其站点配置为默认采用特定的文档兼容性模式。 具体过程将依您的 Web 服务器而定。 例如,通过以下 web.config 文件,可以让 Microsoft Internet Information Services (IIS) 定义一个自定义标头,以便自动按照 IE7 模式呈现所有页面。
<?xml version="1.0" encoding="utf-8"?> <configuration><system.webServer><httpProtocol><customHeaders><clear /><add name="X-UA-Compatible" value="IE=EmulateIE7" /></customHeaders></httpProtocol></system.webServer> </configuration>
如果使用 Web 服务器指定了默认的文档兼容性模式,则可通过在特定的网页中指定不同的文档兼容性模式来覆盖默认设置。 在网页中指定的模式优先于由 Web 服务器指定的模式。
确定文档兼容性模式
若要确定使用 Internet Explorer 8 的网页的文本兼容性模式,请使用
document
对象的documentMode
属性。 例如,将以下内容键入到 Windows Internet Explorer 8 的地址栏中,可显示当前网页的文档模式。
javascript:alert(document.documentMode);
documentMode 属性将返回一个与页面的文档兼容性模式相对应的数值。 例如,如果某个页面已选择支持 IE8 模式,则 documentMode 将返回值 8。
在 Internet Explorer 6 中引入的 compatMode 属性已被弃用,取而代之的是在 Internet Explorer 8 中引入的 documentMode 属性。当前依赖于 compatMode 的应用程序仍然可以在 Internet Explorer 8 中运行;但是,应将这些应用程序更新为使用 documentMode。
如果希望使用 JavaScript 来确定文档的兼容性模式,则应包含支持 Internet Explorer 旧版本的代码,如以下示例中所示。engine = null; if (window.navigator.appName == "Microsoft Internet Explorer") {// This is an IE browser. What mode is the engine in?if (document.documentMode) // IE8engine = document.documentMode;else // IE 5-7{engine = 5; // Assume quirks mode unless proven otherwiseif (document.compatMode){if (document.compatMode == "CSS1Compat")engine = 7; // standards mode}}// the engine variable now contains the document compatibility mode. }
了解 content 属性值
content 属性的使用很灵活,它可以接受除前面所述的值之外的值。 这样,您就能够更好地控制 Internet Explorer 显示网页的方式。 例如,可以将 content 属性设置为 IE=7.5。 当您如此设置之后,Internet Explorer 会尝试将该值转换为 版本矢量,并选择与转换结果最接近的模式。 在本例中,Internet Explorer 将会设置为 IE7 模式。 以下示例显示了为其他值选择的模式(如果不存在其他缓解因素)。
<meta http-equiv="X-UA-Compatible" content="IE=4"> <!-- IE5 mode --> <meta http-equiv="X-UA-Compatible" content="IE=7.5" > <!-- IE7 mode --> <meta http-equiv="X-UA-Compatible" content="IE=100" > <!-- IE8 mode --> <meta http-equiv="X-UA-Compatible" content="IE=a" > <!-- IE5 mode -->
<!-- This header mimics Internet Explorer 7 and uses <!DOCTYPE> to determine how to display the Web page --> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
注意 上一个示例显示了各个 content 值的结果。 实际上,Internet Explorer 仅遵循网页中的第一个 X-UA-Compatible 标头。
还可以使用 content 属性来指定多个文档兼容性模式;这将有助于确保网页在将来的浏览器版本中显示一致。 若要指定多个文档模式,应设置 content 属性以标识要使用的各个模式。 各个模式之间使用分号分隔。如果某个特定的 Internet Explorer 版本支持多个请求的兼容性模式,则该版本将使用标头的 content 属性中列出的可用的最高级别模式。 可以利用这一原理来排除特定的兼容性模式,但不建议这样做。 例如,下面的标头排除了 IE7 模式。
<meta http-equiv="X-UA-Compatible" content="IE=5; IE=8" >
控制默认呈现
当 Internet Explorer 8 遇到未包含 X-UA-Compatible 标头的网页时,它将使用 指令来确定如何显示该网页。 如果该指令丢失或未指定基于标准的文档类型,则 Internet Explorer 8 将以 IE5 模式(Quirks 模式)显示该网页。
如果
<!DOCTYPE>
指令指定了基于标准的文档类型,则 Internet Explorer 8 将以 IE8 模式显示该网页,但出现以下情况时除外:- 为该网页启用了兼容性视图。
- 该网页是在 Intranet 区域中加载的,并且已将 Internet Explorer 8 配置为使用兼容性视图来显示 Intranet 区域中的网页。
- 已将 Internet Explorer 8 配置为使用兼容性视图来显示所有网站。
- 已将 Internet Explorer 8 配置为使用兼容性视图列表(其中指定了一组始终使用兼容性视图显示的网站)。
- 已使用开发人员工具覆盖在该网页中指定的设置。
- 该网页遇到了页面布局错误,并且已将 Internet Explorer 8 配置为,通过在兼容性视图中重新打开网页来自动从此类错误中恢复。
注意 如果将 Internet Explorer 配置为使用兼容性视图加载 Intranet 页面,Internet Explorer 将对使用 localhost 地址或 环回地址 加载的页面引发异常。 如果
<!DOCTYPE>
指令指定基于标准的文档类型,则将以 IE8 模式显示使用这些技术加载的页面。
此外,可以使用下面的注册表项来控制 Internet Explorer 对未包含 X-UA-Compatible 标头的页面的处理方式。HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)SOFTWAREMicrosoftInternet ExplorerMainFeatureControlFEATURE_BROWSER_EMULATIONiexplore.exe = (DWORD)
DWORD 值必须等于下列值之一。
值 说明 7000 包含基于标准的 <!DOCTYPE>
指令的页面将以 IE7 模式显示。8000 包含基于标准的 <!DOCTYPE>
指令的页面以 IE8 模式显示。8888 页面始终以 IE8 模式显示,而不考虑 指令。 (这可绕过前面列出的例外情况。) 默认情况下,承载
WebBrowser
控件的应用程序将以 IE7 模式打开基于标准的页面,除非页面中包含适当的 X-UA-Compatible 标头。 通过将应用程序可执行文件的名称添加到 FEATURE_BROWSER_EMULATION 功能控制项中,并相应地设置值,可以更改打开模式。总结
对于 Web 设计人员来说,兼容性是一个要考虑的重要问题。 尽管最好是创建不依赖于 Web 浏览器的特定行为或功能的站点,但有时这样做是不可能的。 文档兼容性模式将网页与 Internet Explorer 特定版本的行为相关联。
使用 X-UA-Compatible 标头可指定页面支持的 Internet Explorer 版本。 使用 document.documentMode 可确定网页的兼容性模式。通过选择支持特定的 Internet Explorer 版本,可有助于确保页面在将来的浏览器版本中能够显示一致。
写在最后: 约定优于配置——-软件开发的简约原则.——————————– (完)————————————–
我的
个人网站:https://neveryu.github.io/guestbook/
Github: https://github.com/Neveryu
新浪微博:http://weibo.com/Neveryu更多学习资源请关注我的新浪微博….
width="100%" height="500" class="share_self" scrolling="no" src="http://widget.weibo.com/weiboshow/index.php?language=&width=0&height=550&fansRow=1&ptype=1&speed=0&skin=8&isTitle=1&noborder=1&isWeibo=1&isFans=0&uid=5346488237&verifier=d529ff3a&dpc=1">
content=IE=Edge相关推荐
- 标记meta http-equiv = X-UA-Compatible content = IE=edge,chrome=1
为什么80%的码农都做不了架构师?>>> 陌生标记标记一: < meta http-equiv = "X-UA-Compatible" content ...
- IE 8兼容:meta http-equiv=X-UA-Compatible content=IE=edge / X-UA-Compatible的解释
前言:9月份开始了,大四也真正的到来了.深知自己网页布局还有很大的缺陷,接下来打算从工作中抽时间出来模仿着一些互联网公司的网站.顺便把基础理论知识打好. 第一个目标:小米官网:后续会把练习的项目放到g ...
- meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1 /
X-UA-Compatible是针对IE8新加的一个设置,对于IE8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含<!DOCTYPE> ...
- HTML中添加meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1
http-equiv="X-UA-Compatible" 这是一个文档兼容模式的定义 Edge模式告诉IE以最高级 模式渲染文档,也就是任何IE版本都以当前版本所支持的最高级标准模 ...
- 详解 meta http-equiv = X-UA-Compatible content = IE=edge,chrome=1 /
< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /> 这是个是 ...
- meta http-equiv=X-UA-Compatible content=ie=edge的意思
<meta http-equiv="X-UA-Compatible" content="ie=edge">vscode创建html文件默认有这串代码 ...
- IE兼容问题解决方案——指定文件兼容性为content=IE=Edge,chrome=1(可以解决很多的问题)
引言 偶尔做些坑爹的国企项目或者政府的web项目总是遇到一个坑爹的问题,就是要兼容IE,哪怕微软自己都抛弃IE了那些国企政府机构的老机器还是跑IE,然后经过一番协调一般会指定一个版本至少兼容某个版本以 ...
- meta http-equiv=X-UA-Compatible content=IE=edge / 的说明
X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含<!DOCTYPE> ...
- edge新版 能够正则式_Python爬虫七 数据提取之正则
数据提取之正则,主要用到的re模块. 一.正则表达式 用事先定义好的一些特定字符.及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑. 二.正则表达式的常见语法 正 ...
- HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用?
X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的. 通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置. 在网页中指定的模式 ...
最新文章
- Android分级部门选择界面(二)
- 【 .NET Core 3.0 】框架之二 || 后端项目搭建
- 2015蓝桥杯省赛---java---C---9(打印大X)
- linux时间轮 Timing-Wheel的实现
- 最帅的我救了两条很丑的狗
- 介绍org.eclipse.core.runtime中工具类
- corn java 可配置_定时任务工具——CronUtil
- 来点硬件知识吧,今天求职吃亏了!
- 在linux上運行小火車
- linux显卡测试radeon,15款热门显卡对比:Radeon RX 6800系列在Linux 1440p环境下表现出色...
- oracle启动crs要多久,oracle 10g CRS不能启动解决过程(hp-ux)
- IT大学生应该经常浏览的十大网站
- Excel取整函数汇总
- 月球 地球 三维位置_微软的月球飞行模拟器是一次了不起的未完成的地球之旅...
- 前端 js 微信 支付二维码
- vue中src目录下的文件的说明
- 渲染类博客和游戏相关工作室论文发布地址大集合
- Asp.Net头部动态加载css和js文件的方法
- 《计算机视觉和图像处理简介 - 中英双语 + 代码实践版》:使用动量优化 Momentum 的随机梯度下降训练神经网络
- 构建“元宇宙+”生态链,践行高质量数字经济发展新模式
热门文章
- 新浪微博接口在safri下的bug
- BCM业务连续性管理
- 汉字编码与拼音输入法
- Android读取不到/storage/emulated/0/文件的问题
- 华为od与中软外包哪个更好_华为外包,不是OD,OD也烂,呆了8个月。今天离职再见,…...
- 解决网络正常,但chrome浏览器无法正常使用的问题
- Facebook IPO更改投行佣金标准 比例或降至1%
- n1怎么进入线刷模式_中国移动N1 M821线刷刷机教程_移动M821线刷包_救砖包
- java中IO流的父类_Java-IO流的总结-字节流
- python合并多个pdf文件