1

尽管我添加了严格的文档类型,但我显然触发了 quirks 模式(或至少 IE 7 标准模式):

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

和 IE 兼容性列表元:

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

我查看了页面的开发者工具窗口,它说页面默认是 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" /> 
4

2 回答 2

2

要么将您的 DOCTYPE 更改为 XHTML,要么删除您的自闭合标签。

于 2011-01-30T04:27:52.257 回答
0

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

  1. 我们保持 DOCTYPE 如下。我认为你有松散模式还是严格模式并不重要。

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

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

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

于 2013-05-29T18:33:51.783 回答