可互操作的 (HTML5) Quirks 模式

在 Internet Explorer 10 中,我们修改了 Quirks 模式的默认行为,以增强对行业标准(如 HTML5)的支持,并提高与其他浏览器的可互操作性。现在,根据 HTML5 及相关 W3C 规范中的定义,Quirks 模式公开了与标准模式相同的 API 集和行为(少数例外)。

这些更改可能影响专为 Windows Internet Explorer 编写的 Quirks 模式页面,或使用浏览器探查改变其在 Internet Explorer 中行为的页面。

使用了传统功能的页面在 Windows Internet Explorer 9 中可正常工作,但在 Internet Explorer 10 中无法正常工作。

注意  F12 开发者工具可用来验证网页的文档模式。有关详细信息,请参阅调查文档模式问题

如果该页面在其他浏览器中表现正常,可以考虑将 Internet Explorer 10 视作其他浏览器进行功能检测。或者,在该页面顶部添加下面的 meta 标记,以选择启用传统的 Quirks 行为:


<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">

下面的示例显示了一个使用元素行为的网页,元素行为是 Internet Explorer 10 标准模式中不再支持的传统功能:


<html>
  <head>
    <title>Legacy Quirks Page</title>
  </head>
  <body>
    <div style="left:expression(document.body.clientWidth/2)">
    </div>
  </body>
</html>


由于该页面未声明文档类型,因而以 Quirks 模式显示。 在较早版本的 Internet Explorer 中,这意味着该页面的显示如同它在较早版本浏览器中的显示。 因此,元素行为可正常工作,页面可正常显示。

由于 Quirks 模式已被修改,因而此示例无法再正常显示。 可通过启用传统的 Quirks 模式来修复此问题:


<html>
  <head>
    <title>Legacy Quirks Page</title>
    <meta http-equiv="X-UA-Compatible" content="IE=5">
  </head>
  <body>
    <div style="left:expression(document.body.clientWidth/2)">
    </div>
  </body>
</html>


为了获得最佳结果,目前依赖于传统功能的网页应该改用由广泛支持的标准所定义的现代功能。

相关主题

IEBlog 博客:IE10 中可互操作的 HTML5 Quirks 模式
如何检测功能而非浏览器
定义文档兼容性
Internet Explorer 10 兼容性手册

 

 

显示:
© 2015 Microsoft