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

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

  • 如果用户通过开发人员工具更改模式,即使页面被刷新,更改仍然保留?

我之所以问这个,是因为我们在这里进行了一些IE8测试,并且不同的人对模式有不同的组合,我想试图弄清楚这是如何发生的。

有帮助吗?

解决方案

本文 在IE8博客上,有权 IE8如何确定文档模式

  1. 开发人员工具设置覆盖了选项卡中显示的所有页面的所有文档模式。
  2. X-UA兼容的元标记,然后标头覆盖兼容性视图设置和Doctype,除非X-UA兼容的值是Emulateie7或Emulateie8。
  3. 用户的兼容性视图设置覆盖了Microsoft兼容性视图列表。
  4. 如果以上规则不适用,则Doctype确定网页呈现IE8标准,IE8几乎标准或怪异模式。

因此,我们得到了您问题的以下答案:

问: 简单的术语浏览器模式和文档模式之间有什么区别?
一个。 在开发人员工具中设置了浏览器模式,以模拟不同的浏览器版本行为,而在网页上定义了文档模式,以告诉IE以不同的方式渲染网站以构成兼容性。

问: 是什么导致浏览器模式更改?
一个。 用户更改开发工具中的浏览器模式。

问: 是什么导致文档模式更改?
一个。 Web开发人员设置的Doctype和X-UA兼容的元标签和标头。

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

更新: 正如Adrien在下面指出的那样,IE9+通过设置将在Dev工具中更改文档模式的功能,该设置将持续刷新。

其他提示

看到您的答案 这一页.

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

浏览器模式: :指定 用户代理 由浏览器发送到Web服务器。如果您的JavaScript或后端代码根据用户代理字符串以不同的方式渲染,则可能会发生差异。例如,您可能会看到检查的JavaScript navigator.userAgent. 。 (Mozilla/5.0(兼容; MSIE 8.0 ...)此值也用于处理 条件评论 ([如果LTE IE 9],[如果GT IE 8]等)。 IE 11中的仿真工具没有浏览器模式。它具有用户代理下拉菜单。

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

测试:如果您的目标是模拟旧的IE8浏览器,则应更改 两个都 浏览器模式和文档模式。仿真不是完美的,所以一个更彻底的选择是 从Microsoft下载免费测试VM 您可以在其中使用 *真实的“ 8、9的真实版本”测试。

是什么导致这些价值改变?

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

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

左上方有一个小按钮,在IE开发工具中 - >仿真(TAB),上面写着“持久仿真设置”

这个 :

"设置持久性并重置持续仿真设置图标已添加到仿真工具中。这将维护当前的仿真设置,直到专门禁用,使您可以工作,关闭浏览器并完整地返回仿真设置。右边是一个重置仿真设置图标,该图标将工具迅速重置为默认值。"

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top