如何强制我的 IE9 具有 IE9 标准的文档模式?
现在,我有这个元内容,但它似乎不起作用。
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
另外,我怎么知道我的文档模式是否已经改变?
非常感谢你。
如何强制我的 IE9 具有 IE9 标准的文档模式?
现在,我有这个元内容,但它似乎不起作用。
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
另外,我怎么知道我的文档模式是否已经改变?
非常感谢你。
您声明浏览器默认为 Quirks 模式。
摆脱 Quirks 模式的正确解决方案是使用 DOCTYPE。
确保您的 HTML 代码以以下行开头:
<!DOCTYPE html>
这应该是标签上方的第一行代码<html>
。
该X-UA-Compatible
标志是一件好事,但在这种情况下与您的问题无关。它告诉 IE 在各种兼容模式之间切换,但 Quirks 模式是一个完全独立的东西,由 doctype 的存在与否控制。
您应该保留该X-UA-Compatible
标志,尽管正如我在评论中所说,您最好将其设置为IE=edge
而不是IE=9
,否则您将遇到 IE10 及更高版本的问题。
希望有帮助。
[编辑]
我们现在已经确定 OP 的站点在一个框架中运行,在另一个处于 quirks 模式的站点内。
这是一个大问题,因为 IE 会以相同的模式渲染所有帧,所以如果父站点卡在 quirks 模式,那么他的站点也会卡在 quirks 模式。
除了将一个或其他站点转换为与另一个站点相同的模式之外,几乎没有什么可以做的。
将新代码转换为以 quirks 模式运行可能是可能的,但风险很大;我强烈反对它。在任何情况下,我都需要花时间研究你的整个源代码,然后才能说出它是否可能,更不用说它有多少工作了。
将旧代码转换为在标准模式下运行可能更容易实现。同样,这取决于代码库有多大,但重点是您不必担心由于不支持的功能而导致转换中断,因为该站点已经在旧模式下运行;迁移到较新的模式可能需要进行一些更改,但至少您可以从一开始就相当确定这是可能的。
您唯一的其他选择是更改您的站点,以便它不会出现在框架中,而是弹出到自己的单独窗口(或选项卡)中。这样,它可以保持标准模式,而旧站点可以保持怪癖模式。这是您拥有的唯一不涉及大量工作的选项。
我想这一切的最终信息是怪癖模式是一件可怕的事情。如果所有以怪异模式运行的旧公司系统都升级为使用标准模式,世界将会变得更好。这确实比人们想象的要少得多,并且可以防止像这样的令人讨厌的情况。
使用content="IE=edge"
而不是IE=9
这将迫使您的 IE 浏览器坚持最新的可用