【问题标题】:Forcing compatibility mode in IE9在 IE9 中强制兼容模式
【发布时间】:2012-08-29 15:39:46
【问题描述】:

我已经经历了几次迭代,但在 IE9 中正确渲染我的 wordpress 网站时遇到了严重的问题。

该网站是click here。当然可以在 chrome/FF 中完美运行。

IE9 本机模式偶尔会抛出一个硬 js 脚本错误(我正在查看的单独问题),但强制兼容模式似乎可以正确呈现它。

所以现在的问题是,试图在 IE9 中自动强制 IE8 兼容。从我读到的应该这样做:

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

但它什么也没做。

我尝试过各种变化,包括:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8, chrome=1">
<meta http-equiv="X-UA-Compatible" content="IE=IE8">

没有快乐。

现在我在标题中有以下内容:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8, chrome=1">

如果你实际查看 IE8/9 中的调试,它会显示:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8, chrome=1" charset="UTF-8" <meta=""/>

我不知道它为什么/在哪里注入字符集和杂散元标记。在 chrome 中它显示正确。

元数据应该有一个尾随/吗?两种方法我都试过了,IE 仍然把那个元添加到最后。

有什么建议吗?

感谢您对此的帮助。

尼克

【问题讨论】:

  • 使用什么 DOCTYPE 提供您的页面?

标签: internet-explorer-9 compatibility


【解决方案1】:

这对我来说很好用:

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

您的网站缺少结束 /,这导致它在页面源中显示为无效标记。

【讨论】:

  • 是的,我现在修好了。那么 IE=8 还是 IE=EmulateIE8?这种 IE 业务非常令人沮丧。 :)
  • This 似乎提供了一个合理的解释,看起来他们可能会给出相同的结果,但坚持使用 IE=8 更安全。