确保IE 8中的严格模式

时间:2010-05-25 13:33:37

标签: internet-explorer-8 doctype dtd ie-developer-tools strict

即使我添加了严格的doctype,我显然会触发怪癖模式(或至少是IE 7标准模式):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

和IE兼容性列表meta:

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

我查看了该页面的Developer Tools窗口,它说该页面默认为IE 8标准模式,但仍然错误地呈现页面。但是,将开发人员工具中的模式更改为其他模式并然后切换回IE 8标准模式会导致页面正确呈现。

是否还有一些我缺少的IE特定咒语,或者这是IE 8(或IE开发人员工具)的已知错误?

如果有帮助,这里是页面的前几行(抱歉,我没有该页面的链接,它是一个专用产品,用于在Intranet上部署)。我已经检查过DOCTYPE之前没有任何内容(虽然这显然不再是IE 8的问题):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
      <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <!-- to override ie compatibility mode for intranets: http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx -->
        <meta http-equiv="X-UA-Compatible" content="IE=8" /> 

2 个答案:

答案 0 :(得分:2)

将您的DOCTYPE更改为XHTML,或删除自动关闭标记。

答案 1 :(得分:0)

我遇到了与Neil Ongkingco描述的完全相同的问题。我们添加了一个DOCTYPE,开发人员工具显示IE正在IE8标准模式下呈现。但是,网页不会像我们预期的那样呈现。来回更改模式可以解决该会话的问题,但是它没有按照说明进行操作。以下是我们为解决问题所做的工作。

  1. 我们将DOCTYPE保留如下。我认为你是否有松散或严格的模式并不重要。

    &lt;!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.01 Transitional // EN”“http://www.w3.org/TR/html4/loose.dtd”&gt;

  2. 如上所述添加了兼容X-UA的元标记。我们省略了结束斜杠,如下所示。

    &lt; meta http-equiv =“X-UA-Compatible”content =“IE = 8”&gt;