强制IE9进入Quirks模式?

CBa*_*arr 19 compatibility internet-explorer quirks-mode ie8-compatibility-mode internet-explorer-9

我有一个网页的iframe和iframe中包含需要在怪癖模式下运行的代码(这是微软的Outlook Web Access的,所以它不是我们的代码,我们可以解决反正).IE9引入了一个"功能",当父框架处于IE9文档模式时,它还强制任何iframe进入相同的文档模式.这打破了我们拥有iframe的代码.

我希望这是IE9中的一个错误,但是我的票被拒绝为"按设计"(如果你想看,这里是票)

我无法以怪癖模式运行整个网站,但我只需要在此页面上进行操作.有没有办法以编程方式打开怪癖模式渲染?无论是那种,还是模仿按下"兼容性视图"按钮的方式 - 按下这几乎可以将IE9变成IE8,这也很好用.

可以做这些事情中的任何一个吗?

mik*_*epr 10

我有同样的问题,并在2011年4月相当广泛地研究了它.从那时起,在IE9中以"quirks模式"在"标准模式"中创建顶级文档和在子iframe中创建文档的唯一方法是使用元标记让浏览器的行为就像它是IE8一样.(据我所知,情况仍然如此,微软无意改变它.)你可以使用各种各样的元标记来改变浏览器模式,但我使用的元标记有:

<meta http-equiv="X-UA-Compatible" content="IE=8" />
Run Code Online (Sandbox Code Playgroud)

如果包含此元标记,则应根据其doctype正确呈现所有文档(根据IE8规则).

但请注意,这使您无法使用IE9中任何新支持的css功能,即使在顶级文档中也是如此.您将无法使用border-radius,box-shadow,opacity等.

还有一些关于这方面的更多信息请问iframe在怪癖模式下渲染吗?,这提出了一个关于iframe和doctypes的更普遍的问题.


Yuh*_*Bao 5

顺便说一句,嵌入在iframe中的内容的怪癖模式与普通的怪癖模式并不完全相同.请参阅:http://msdn.microsoft.com/en-us/library/gg558056(v = VS.85).aspx