IE8浏览器模式与文档模式

时间:2010-06-01 14:27:23

标签: internet-explorer-8 ie8-browser-mode

有人可以用简单的术语解释IE8 浏览器模式文档模式之间的区别吗?

  • 导致浏览器模式改变的原因是什么?
  • 导致文档模式更改的原因是什么?

  • 如果用户通过开发者工具更改了模式,即使刷新页面,更改是否仍然存在?

我问这个是因为我们在这里做了一些IE8测试,不同的人有不同的模式组合,我想弄清楚这是怎么回事。

4 个答案:

答案 0 :(得分:69)

来自IE8博客上的this article,标题为 IE8如何确定文档模式

  1. “开发人员工具”设置会覆盖选项卡中显示的页面的所有“文档模式”。
  2. X-UA兼容元标记然后标题覆盖兼容性视图设置和doctype,除非X-UA兼容值是EmulateIE7或EmulateIE8。
  3. 用户的兼容性视图设置会覆盖Microsoft兼容性视图列表。
  4. 如果上述规则均不适用,则doctype将确定网页是否以IE8标准,IE8标准或Quirks模式呈现。
  5. 因此,我们会从您的问题中获得以下答案:

    问。 简单来说,浏览器模式和文档模式有什么区别?
    A。浏览器模式在开发人员工具中设置,以模拟不同的IE浏览器版本行为,同时在网页上定义文档模式,以告知IE为了兼容性而以不同方式呈现网站。

    问。 导致浏览器模式改变的原因是什么?
    A. 用户在开发工具中更改浏览器模式。

    问。 导致文档模式更改的原因是什么?
    A。 Web开发人员设置的Doctype和X-UA兼容元标记和标题。

    问。 如果用户通过开发人员工具更改了模式,即使刷新页面,更改是否仍然存在?
    A。浏览器模式将保留,但如果您更改了Doctype和X-UA-Compatible,它们将返回到页面上定义的内容。

    更新:正如Adrien Be指出的那样,IE9 +增加了通过设置更改开发工具中的文档模式的功能,该设置将在刷新时保留。

答案 1 :(得分:16)

this page中查看答案。

documentMode属性返回浏览器用于呈现当前文档的模式。

IE8可以以不同的模式呈现页面,具体取决于!DOCTYPE或某些HTML元素的存在。

此属性返回以下值之一:

5 - The page is displayed in IE5 mode
7 - The page is displayed in IE7 mode
8 - The page is displayed in IE8 mode
9 - The page is displayed in IE9 mode

注意:如果未指定!DOCTYPE,则IE8以IE5模式呈现页面!

Diagram of the document mode selection process

答案 2 :(得分:2)

浏览器模式:指定浏览器发送到Web服务器的用户代理。如果您的JavaScript或后端代码根据用户代理字符串呈现不同,则可能会出现渲染差异。例如,您可能会看到检查navigator.userAgent的JavaScript。 (Mozilla / 5.0(兼容; MSIE 8.0 ...)此值还用于处理conditional comments([if IE IE 9],[if gt IE 8]等。)IE中的仿真工具11没有浏览器模式。它有一个用户代理下拉列表。

文档模式:指定用于处理标记的呈现引擎。这通常是我们看到渲染问题和浏览器不兼容的地方。最初的目标(无论好坏)是网站所有者可以通过元标记为其网站选择文档模式。在IE 11中,仿真工具不那么容易混淆。

<强>测试: 如果您的目标是模拟旧的IE8浏览器,则应更改两种浏览器模式和文档模式。仿真并不完美,因此更加彻底的选择是download free test VMs from Microsoft,您可以使用IE 8,9等的*真实版本进行测试。

导致这些值发生变化的原因是什么?

浏览器模式不会改变。 (除非您在Dev工具中更改它。)在向Web服务器发出请求之前设置它。

文档模式可以根据Web服务器响应进行更改。它可以通过X-UA兼容的HTTP响应头,doc类型,元标记,Intranet站点,标记问题等进行更改。

答案 3 :(得分:0)

在IE开发工具的左上方有一个小按钮 - &gt;模拟(选项卡),显示“持久模拟设置”

请参阅this

设置持久性和重置 “持久仿真”设置图标将添加到“仿真”工具中。这将保持您当前的仿真设置,直到被特别禁用,允许您工作,关闭浏览器,并返回完整的仿真设置。右侧是重置仿真设置图标,可快速将工具重置为默认值。