
文件兼容性用于定义如何让IE编译您的网页. 该文件说明文件兼容性,如何指定网站的文件兼容性模式以及如何确定网页应使用的文件模式.
前言
为帮助确保您的网页在所有将来的IE版本中都具有一致的外观,IE8引入了文件兼容性. 在IE6中引入其他兼容模式. 文件兼容性使您可以在IE显示网页时选择特定的编译模式.
新IE为了确保该网页在将来的版本中具有外观,IE8引入了文件兼容性. 当您引入其他兼容模式时,
本文介绍了文件兼容性的必要性,列出了IE现有版本中可用的文件兼容性模式,并演示了如何选择特定的兼容性模式.
了解文件兼容性的需求
IE的每个主要版本中的新功能旨在使浏览器更易于使用,提高安全性并支持行业标准. 将这些作为IE的特征,风险之一就是网站的旧版本无法正确显示.
为最小化此风险,IE6允许Web开发人员选择IE编译和显示其网页的方式. 默认为“ Quirks模式”,这将导致从旧浏览器的角度显示页面. “标准模式”(也称为“严格模式”)具有对行业标准的最完整支持. 但是,要利用此增强的支持功能,网页必须包含适当的<! DOCTYPE>指令.
如果网页不包含<! DOCTYPE>命令,IE6将以怪癖模式显示它. 如果网页包含有效的<! DOCTYPE>命令,但浏览器无法识别它,IE6将以IE6标准模式显示它. 因为一些网站已经包含<! DOCTYPE>指令,兼容性模式切换非常成功. 这使Web开发人员可以选择最佳时间将其网页转换为标准模式.
随着时间的流逝,更多的站点开始使用标准模式. 他们还开始使用IE6的功能来检测IE. 例如,IE6不支持通用选择器(即CSS * {}的全局选择器)ie浏览器网页设置,某些网站使用它来与IE进行特定的对应.
当IE7添加对全局选择器的支持时,依赖IE6功能的网站将无法检测到此新版本的浏览器. 因此,那些针对IE的特定对应关系无法应用于IE7,从而导致这些网站无法按预期显示. 自<! DOCTYPE>仅支持两种兼容模式,受影响的网站所有者被迫更新其网站以支持IE7.
IE8比任何以前版本的浏览器都更支持行业标准,因此为较旧的浏览器设计的网页可能无法按预期呈现. 为了帮助缓解所有问题,IE8引入了文件兼容性的概念,使您可以选择与您的Web设计相对应的特定IE版本. 文件兼容性在IE8中添加了一些新模式,这些模式可以告诉浏览器如何解析和编译网页. 如果您的网页无法在ie8中正确显示,则可以更新您的网站以支持最新的网页标准(优先级选项),或在页面中添加一个meta元素以告诉IE8如何使用旧的浏览器来编译您的页面.
这使您可以选择何时更新网站以支持IE8的新功能.
识别文件兼容模式
IE8支持多种文件兼容模式,这些模式具有不同的特性并影响内容的显示方式.
•仿真IE8模式指示IE使用<! DOCTYPE>指令决定如何编译内容. 标准模式命令将显示为IE8标准模式,而怪癖模式将显示为IE5模式. 与IE8模式不同,模拟IE8模式值<! DOCTYPE>指令.
•仿真IE7模式指示IE使用<! DOCTYPE>指令决定如何编译内容. 标准模式命令将显示为IE7标准模式,而怪癖模式将显示为IE5模式. 与IE7模式不同,模拟IE7模式值<! DOCTYPE>指令. 对于许多网页,这是最推荐的兼容模式.
•IE5模式编译后的内容如IE7的怪癖模式所示,与IE5中显示的内容非常相似.

•IE7模式的编译内容与IE7标准模式的显示状态相同,无论网页是否包含<! DOCTYPE>指令.
•IE8模式为行业标准提供了最高的支持,包括W3C级联样式表2.1规范和W3C选择器API,以及对W3C级联样式表3级规范(工作草案)的有限支持.
•边缘模式指示IE以当前可用的最高模式显示内容. 使用IE8时,它等效于IE8模式. 如果(假定)将来的IE版本支持更高的兼容性模式,则使用Edge模式的页面将使用此版本支持的最高模式来显示内容. 使用IE8浏览时,仍将显示相同的页面.
由于边缘模式使用此IE版本支持的最高模式来显示所查看网页的内容,因此建议仅将其用于测试页和其他非商业页面.
指定文件兼容模式
要为网页指定文件模式,需要使用网页中的meta元素放置X-UA兼容的http-equiv标头. 以下是指定为“模拟IE7”模式的兼容性示例.
<!-模仿Internet Explorer 7->
head>
内容在这里.
body>
html>
内容以指定的页面模式更改. 当您要模拟IE7时,请指定IE = EmulateIE7,指定IE = 5,IE = 7或IE = 8以选择一种兼容模式. 您还可以指定IE = edge来指示IE8使用其支持的最高模式.
与X-UA兼容的标头不区分大小写. 但是,除了title元素和其他meta元素外,它还必须出现在页面标题部分中的其他元素之前,

设置Web服务器以指定默认兼容模式
网站管理员可以通过定义网站的自定义标题来为其网站预设特定的文件兼容模式. 此特定方法取决于您的Web服务器. 例如,以下web.config文件使Microsoft Internet信息服务(IIS)能够定义自定义标头,以使用IE7模式自动编译所有网页.
<? xml版本=“ 1.0”编码=“ utf-8”?>
<配置>
<添加名称=“兼容X-UA的值” =“ IE = EmulateIE7” />
customHeaders>
httpProtocol>
system.webServer>
configuration>
如果已在Web服务器上指定了预设的文件兼容模式,则可以通过在各个页面上指定其他文件兼容模式来覆盖它. 网页中指定的模式优先于服务器中指定的模式.
请检查您的Web服务器以获取有关指定自定义标头的信息,或查看更多信息:
在Apache上实现META开关
在IIS上实现META开关
确定文件兼容模式

要确定网页使用IE8浏览时的文件兼容模式,请使用文档对象的documentMode函数. 例如ie浏览器网页设置,在IE8的地址栏中输入以下代码将显示当前页面的文档模式.
javascript: 警报(document.documentMode);
documentMode函数将返回一个与当前页面的文件兼容模式相对应的值. 例如,如果将网页指定为支持IE8模式,则documentMode将返回值“ 8”.
IE6中引入的compatMode函数不支持IE8中引入的documentMode函数. 当前使用compatMode创建的应用程序也可以在IE8中运行,但是必须将其更新为使用documentMode.
如果要使用JavaScript确定文件的兼容模式,请引入以下代码以支持IE的旧版本.
engine = null;
如果(window.navigator.appName ==“ Microsoft Internet Explorer”)
{
//这是IE浏览器. 引擎处于哪种模式?
if(document.documentMode)// IE8
engine = document.documentMode;
else // IE 5-7
{
engine = 5; //除非另有证明,否则采用怪癖模式
如果(document.compatMode)
{
如果(document.compatMode ==“ CSS1Compat”)
engine = 7; //标准模式

}
}
//引擎变量现在包含文档兼容模式.
}
识别内容属性值
当内容属性值接收的值不同于上述值时,它是灵活的. 这可以让您更好地控制IE显示网页的方式. 例如,您可以将内容属性值设置为IE = 7.5. 这样做时,IE会尝试将此值转换为版本向量,然后选择最接近的结果. 在此示例中,IE将其设置为IE7模式. 以下示例显示了将模式设置为其他值的情况.
<!-IE5模式->
<!-IE7模式->
<!-IE8模式->
<!-IE5模式->
<!-此标头模仿Internet Explorer 7并使用
<! DOCTYPE>确定如何显示网页->
注意: 前面的示例显示了各个内容值. 实际上,IE只会执行网页中的第一个X-UA-Compatible标头.
您还可以使用content属性来指定多种文件兼容模式,这可以帮助确保您的网页在将来的浏览器版本中始终显示. 要设置多种文件模式,请设置内容属性以确定要使用的模式. 使用分号分隔模式.
如果特定版本的IE支持多个所需的兼容模式,则将使用标头内容属性中列出的最高可用模式. 您可以使用此功能排除特定的兼容模式,尽管不建议这样做. 例如,以下标头将排除IE7模式.
结论
兼容性是网页设计师非常关注的问题. 尽管最好建立一个完全不依赖任何Web浏览器功能的网站,但有时这是不可能的. 文件兼容模式可以将网页限制为特定版本的IE.
使用X-UA-Compatible标头指定页面支持的IE版本. 使用document.documentMode确定页面的兼容模式.
选择支持特定版本的IE,您可以确保页面在以后的浏览器版本中始终显示.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-221871-1.html
新浪你说你没拿雷不思的钱
好像因工艺流程不同调和油要放心一点
新歌新歌