IE8什么时候进入Quirks模式?

时间:2011-06-16 19:11:04

标签: internet-explorer-8 quirks-mode

我们正在将Web应用程序转换为IE8(现在客户端正在使用IE6)。我们没有创建该应用程序。我们只修改和添加功能。当我使用IE8开发者工具访问此应用程序中的大多数页面时,显示IE正在Quirks模式下工作。但有些页面在Internet Explorer 8标准模式下工作。这个页面http://msdn.microsoft.com/en-us/library/dd565628(VS.85).aspx说:

“Quirks Mode:在渲染没有doctype或Quirks doctype的文档时,此行为与Internet Explorer的行为相匹配。”

但是我们所有的页面都定义了DOCTYPE - !DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Transitional // EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd“(我不知道如何在这里输入尖括号,但它们出现在网页上。

任何人都能解释一下,为什么IE8在显示所有DOCTYPE定义的页面时都在Quirks和标准模式下工作?或者可能会向我展示IE8在Quirks和标准模式下显示的两个页面示例?

2 个答案:

答案 0 :(得分:6)

doctype标记必须是标记中的第一个,否则会被忽略。如果在doctype标记之前有XML声明标记,IE将忽略doctype。

如果HTML标记完全被破坏,浏览器可能会重新将其解释为标记汤而不是HTML文档,并以Quirks模式呈现。

使用W3C HTML validator检查代码是否有任何严重错误。

答案 1 :(得分:0)

尝试在HEX编辑器中查看HTML。在DOCTYPE声明之前可能会有一些奇怪的字符(通常是3:ef bb bf)。在这种情况下,IE也陷入了怪癖。之前发生在我身上,现在也发生了。