【发布时间】:2013-03-22 13:52:29
【问题描述】:
我有一个使用框架(不是 iframe)的旧应用程序是在 IE6 时代写回的,因此它以怪异模式运行。
是否有可能(使用 IE 7 或 8)让一帧仍处于怪异模式而另一帧处于标准模式,或者整个浏览器必须处于一种模式或另一种模式?
我一直在尝试,但没有成功。
我见过this answer,它适用于 iframe,但是普通旧框架呢?
【问题讨论】:
标签: html css quirks-mode
我有一个使用框架(不是 iframe)的旧应用程序是在 IE6 时代写回的,因此它以怪异模式运行。
是否有可能(使用 IE 7 或 8)让一帧仍处于怪异模式而另一帧处于标准模式,或者整个浏览器必须处于一种模式或另一种模式?
我一直在尝试,但没有成功。
我见过this answer,它适用于 iframe,但是普通旧框架呢?
【问题讨论】:
标签: html css quirks-mode
我相信您不会获得与使用 iframe 相同的选项。正如链接问题的答案所述,iframe 中的目标不依赖于父级。在常规框架中,页面都依赖于父级。我认为您无法将类型分开。
【讨论】:
我不确定这是否有帮助,但根据 Mozilla 开发中心的说法,Firefox 仅根据 doctype 做出 quirksmode 决策。
https://developer.mozilla.org/en/Mozilla's_DOCTYPE_sniffing
您会注意到使用旧框架集 doctype 会触发“几乎标准”模式,这可能会显示为 quirksmode。
【讨论】:
在此处查看我的答案以获得 MSDN 记录的 IE9 解决方案:How to force Iframe to run quirks under a standard parent frame
简而言之,如果父页面在IE9模式下渲染,是不可能在一个frame(或iframe)中触发quirks模式的,但是可以触发“quirks模式”仿真” 嵌入在 IE9 渲染引擎中。
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">
【讨论】: