我有一个使用框架(不是 iframe)的旧应用程序是在 IE6 时代写回的,因此它以怪癖模式运行。
是否有可能(使用 IE 7 或 8)让一帧仍处于怪癖模式而另一帧处于标准模式,或者整个浏览器必须处于一种模式或另一种模式?
我一直在尝试没有成功。
我已经看到了这个适用于 iframe 的答案,但是普通旧框架呢?
我有一个使用框架(不是 iframe)的旧应用程序是在 IE6 时代写回的,因此它以怪癖模式运行。
是否有可能(使用 IE 7 或 8)让一帧仍处于怪癖模式而另一帧处于标准模式,或者整个浏览器必须处于一种模式或另一种模式?
我一直在尝试没有成功。
我已经看到了这个适用于 iframe 的答案,但是普通旧框架呢?
我相信你不会得到与使用 iframe 相同的选项。正如链接问题的答案所述,iframe 中的目标不依赖于父级。在常规框架中,页面都依赖于父级。我认为您无法将类型分开。
我不确定这是否有帮助,但根据 Mozilla 开发中心的说法,Firefox 仅基于 doctype 做出了 quirksmode 决定。
https://developer.mozilla.org/en/Mozilla's_DOCTYPE_sniffing
您会注意到使用旧框架集 doctype 会触发“几乎标准”模式,这可能会显示为 quirksmode。
在这里查看我的答案以获得 MSDN 记录的 IE9 解决方案:如何强制 Iframe 在标准父框架下运行怪癖
简而言之,如果父页面以 IE9 模式渲染,则不可能在 frame(或 iframe)中触发 quirks 模式,但可以触发嵌入在 IE9 渲染引擎中的“quirks mode emulation” 。
JSBin 演示:http: //jsbin.com/ozejuk/1/
进一步阅读: http: //msdn.microsoft.com/en-us/library/gg558056 (v=vs.85).aspx
如果您可以修改应用程序的代码(或 HTML),您可以添加一个元标记(就在 head 下方),因此它会强制 IE 以 Quirks 模式呈现它,如下所示:
<meta http-equiv="X-UA-Compatible" content="IE=5">