如何强制我的 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 的站点正在框架中运行,位于另一个处于怪异模式的站点内。
这是一个大问题,因为 IE 将以相同的模式渲染所有帧,因此如果父站点陷入怪异模式,那么他的站点也将陷入怪异模式。
除了将一个或其他站点转换为与另一个站点相同的模式之外,对此几乎无能为力。
将新代码转换为在怪异模式下运行可能是可能的,但风险很大;我强烈建议不要这样做。无论如何,我需要花时间研究你的整个源代码,然后才能说它是否可能,更不用说它需要多少工作了。
将旧代码转换为在标准模式下运行可能更容易实现。同样,这取决于代码库有多大,但要点是您无需担心由于不支持的功能而导致转换中断,因为该网站已经在旧模式下运行;迁移到新模式可能需要一些更改,但至少您从一开始就可以相当确定这是可能的。
您唯一的其他选择是更改您的网站,使其不再位于框架中,而是弹出到自己单独的窗口(或选项卡)中。这样,它可以保持标准模式,而旧站点可以保持怪异模式。这是您唯一不需要做太多工作的选择。
我想这一切的最终信息是怪癖模式是一件可怕的事情。如果所有那些以怪异模式运行的旧企业系统都升级为使用标准模式,世界将会变得更加美好。这确实比人们想象的要少很多,并且可以防止像这样的糟糕情况。
关于html - 将 IE9 文档模式更改为 IE9 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18015034/