使用X-UA-Compatible来设置IE浏览器兼容模式( 二 )


由于edge mode使用该IE版本所能支持的最高模式来显示所浏览的网页内容,建议仅使用于测试页及其他非商用页面 。

指定文件兼容性模式
要为你的网页指定文件模式,需要在你的网页中使用meta元素放入X-UA-Compatible http-equiv 标头 。以下是指定为Emulate IE7 mode 兼容性之范例 。
html
head
!-- Mimic Internet Explorer 7 --
meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 /
titleMy Web Page/title
/head
body
pContent goes here./p
/body
/html
其内容随著指定的页面模式而更改,当要模拟IE7时,指定IE=EmulateIE7,指定IE=5, IE=7, 或IE=8来选择其中一种兼容性模式 。你也可以指定IE=edge来指示IE8使用它支持的最高模式 。
X-UA-compatible标头没有大小写之分 。然而除了title元素及其他的meta元素之外,它必须出现在网页header节其它元素之前的位置,

设定网站服务器以指定预设兼容性模式
【使用X-UA-Compatible来设置IE浏览器兼容模式】网站管理员可籍着为网站定义一个自订标头来为他们的网站预设一个特定的文件兼容性模式 。这个特定的方法取决于你的网站服务器 。举例来说,下列的web.config文件使Microsoft Internet Information Services (IIS)能定义一个自订标头以自动使用IE7 mode来编译所有网页 。
?xml version=1.0 encoding=utf-8?
configuration
system.webServer
httpProtocol
customHeaders
clear /
add name=X-UA-Compatible value=https://www.rkxy.com.cn/dnjc/IE=EmulateIE7 /
/customHeaders
/httpProtocol
/system.webServer
/configuration
若你已于网站服务器指定了一个预设的文件兼容性模式,你可以在个别页面上指定不同的文件兼容性模式来盖过它 。在网页中指定的模式优先权高于服务器中所指定的模式 。
请查阅你的网站服务器关于指定自订标头的资讯,或看更多资料:
Implementing the META Switch on Apache
Implementing the META Switch on IIS

判定文件兼容性模式
要判定网页使用IE8浏览时的文件兼容性模式,使用document object(文档对象)的documentMode功能 。例如在IE8的网址列输入下列程式码会显示目前页面的文件模式 。
javascript:alert(document.documentMode);documentMode功能会回传一个数值对应目前页面的文件兼容性模式,举例来说,若网页指定为支持IE8模式,documentMode便会回传值8 。
在IE6引入的compatMode功能不支持在IE8引入的documentMode功能 。目前使用compatMode建立的应用程式还能在IE8中作用,但它们必须更新为使用documentMode 。
若你希望使用JavaScript判定一个文件的兼容性模式,引入下面范例的这段程式码可支持旧版本的IE 。
engine = null;
if (window.navigator.appName == Microsoft Internet Explorer)
{
// This is an IE browser. What mode is the engine in?
if (document.documentMode) // IE8
engine = document.documentMode;
else // IE 5-7
{
engine = 5; // Assume quirks mode unless proven otherwise
if (document.compatMode)
{
if (document.compatMode == CSS1Compat)
engine = 7; // standards mode
}
}
// the engine variable now contains the document compatibility mode.
}认识内容属性值
内容属性值在接收到异于先前叙述的数值时是具有弹性的 。这能使你对于IE如何显示你的网页更有操控性 。举例来说,你可以设定内容属性值为IE=7.5 。当你这样做的时候,IE尝试将这个值转换为version vector并选择最接近的结果 。在这个例子中,IE会将其设定为IE7 mode 。下面的范例显示该模式设定为其他值的状况 。
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 --

推荐阅读