1

有些网站展现时候出现问题,可以通过调整这些模式来解决。

浏览器模式的主要作用是为兼容较早版本的IE,它会控制浏览器发出的UserAgent,表示以哪个版本的浏览器发出请求,以此来允许为某个特定IE版本设计的代码正确执行(举例来说:有些代码真是判断ie版本的,还有css里也有判断ie版本的)。(发送的头信息中的浏览器的版本的信息)

文档模式的主要作用是影响浏览器显示网页HTML的方式,在接到返回的HTML文件后,决定以哪个IE版本的文档模式解析该页面(举例来说:JS脚本就是依赖文档模式,IE9的js变化就需要IE9文档模式来支持)。(解析页面是指定用那种模式)

例子:
<meta http-equiv="X-UA-Compatible" content="IE=7.5"> <!-- IE7 mode -->
<meta http-equiv="X-UA-Compatible" content="IE=100"> <!-- IE8 mode -->
注意: 前面的范例显示单独的内容值。实际上IE只会执行网页中第一个X-UA-Compatible标头。

多个模式的书写方法:
如果一个特定版本的IE支持所要求的兼容性模式多于一种,将採用列于标头内容属性中最高的可用模式。
例子:<meta http-equiv="X-UA-Compatible" content="IE=8; IE=11" />
这样写的结果就是浏览器ie11就按照ie11模式显示,如果不是就是按照ie8模式来显示。

注意:切换浏览器模式的同时,浏览器也会自动切换到相应的文档模式。

如何判断ie浏览器的模式:
document.documentMode可以判断浏览器是在哪个模式下。代码如下:

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中。

使用X-UA-Compatible标头来指定你的页面支持的IE版本。使用document.documentMode判定页面的兼容性模式。

选择支持某个特定版本的IE,你可以确保你的页面在未来的浏览器版本中也能有显示的一致性。

参考文章:http://www.cnblogs.com/nidilzhang/archive/2010/01/09/1642887.html

      一个卖酱酒的非著名程序员,欢迎关注微博:盐城老杜酱酒、 微信:youronglang

斯文败类
269 声望26 粉丝

引用和评论

0 条评论