本文来源:MSDN文章:http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site- developers.aspx(英文网页)
站点开发人员清楚他们要求使用新技术设计的站点中都具有兼容性并遵循标准,同时希望已存在的站点能获得向下兼容的能力。在最近的“关于兼容性的博文”中阅读了一些 问题 与评论之后,我感到现在是向开发者重提一下IE的兼容性功能的好时候了。
尽管 IE 在发展,一直在支持新的技术,开发人员在某些情况下仍需要IE中旧的特性与行为。供开发者 调整他们的站点在IE中呈现方式的技术有很多。主流的技术中就包含了在IE的开发人员工具中提供的浏览 器模式与文档模式、 X-UA-Compatible 元标记以及 HTTP 标头和可选的注释。我已更新了开发者社区中关于 “基于IE9的文档模式检测建议”。
浏览器模式决定了IE9向服务器发送的 User-Agent (UA) 信息,也决定着将使用的文档模式,以及IE处理 其他方面的方式(在下文详细说明)。默认情况下,IE9的浏览器模式是 IE9;当然IE8的默认浏览器模式就是 IE8 了。作为开发者的我们,为了测试页面效果,可以使用IE提供的开发者工具(按F12),在“浏览器模式”菜单中更改此模式。用户也可以在浏览时手动地通过点“兼容性视图”按钮来更改浏览模式。(IE会自动从社区收集已报告的有兼容性问题的页面并自动切换)
浏览器模式 | 描述 |
---|---|
IE9 | IE9 报告的用户代理(User-Agent,UA)中包含使用的版本号、文档模式来匹配不同的浏览器行为; 这也是IE9中最常用、默认的兼容性模式。可以使用此模式来测试站点在IE9中的表现 |
IE9 兼容性视图 | IE9 发送包含如同IE7类似的版本号、文档模式;不过UA 串中会包含一个 Trident/5.0 标志来指示当前浏览器实际上仍角是IE9。 使用此模式来测试当IE9用户按下 兼 容性视图 按钮时获得的体验。注意在IE9的开发工具中有两个兼容性视频选项,这是已知的问题。 |
IE8 | IE9 发送包含如同IE8类似的版本号、文档模式.使用此模式来测试IE8 用户在使用您的站点时将获得的体验 |
IE7 | IE9 发送包含如同IE7类似 的版本号、文档模式.使用此模式来测试IE8用户在使用您的站点时将获得的体验 |
文档模式决定了IE呈现页面时将使用的渲染引擎。改变文档模式时将需要刷新页面,不过不会向服务器重新发送新的用户代理信息,也不会向服务器获得新的标记。
文档模式 | 说明 |
---|---|
IE9 标准模式 | 这是IE9中最新的、默认的渲染方式。 |
IE8 标准模式 | 当文档类型中包含严格的IE8模式信息或其他未知文档类型时,IE将使用此种渲染模式。 |
IE7 标准模式 | 当文档类型中包含严格的IE7模式信 息或其他未知文档类型时,IE将使用此种渲染模式。 |
Quirks (怪异、诡异、 混杂模式) | 当文档不包含正确的文档类型或包含 Quirks 文档类型时,IE将使用此种渲染模式。与 IE6.IE7、IE8中的 Quirks 模式一样,具体渲染方式类似于IE5。 |
可通过在 HTTP 标头或在 HTML文档元标记中添加如下标记来指定文档要使用的文档模式: IE=______
如以下标记将致使IE8浏览器使用IE7文档模式,而IE9则使用IE9标准模式:
<meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7; IE=EmulateIE9”>
本文原文来自: http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site- developers.aspx
原文还包含浏览器版本注释、脚本功能检测等话题,详情请自行点击查看。
关于浏览器怪异渲染模式的更多信息,请查看 nibaohua 的 CSDN 上的文章:
http://blog.csdn.net/nibaohua/archive/2010/09/09/5872533.aspx
关于本文更多的信息,请参考以下链接:
http://blogs.msdn.com/ie/archive/2010/03/02/how-ie8-determines-document-mode.aspx
http://blogs.msdn.com/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx
http://blogs.msdn.com/ie/archive/2010/04/13/running-today-s-different-markup.aspx