Html 如何在IE 9中为iframe中的doctype指定QuirksMode?

Html 如何在IE 9中为iframe中的doctype指定QuirksMode?,html,iframe,reporting-services,doctype,quirks-mode,Html,Iframe,Reporting Services,Doctype,Quirks Mode,问题: 我们有一个门户,其中doctype与XHTML1.0兼容。 然后,在门户中,我们有一个内容iframe,在其中嵌入不同的web应用程序。 其中一些应用程序是由我们编写的,一些是第三方的 现在,在该iframe中,我们嵌入了Microsoft Reporting Service报表等内容。 问题是,Reporting Service Reports需要QuirksMode“正确”呈现。 而且门户不能在怪癖模式下工作(就我而言,这很好,因为我们只针对9,可能还有IE8)。门户在IE7中也不能

问题:

我们有一个门户,其中doctype与XHTML1.0兼容。 然后,在门户中,我们有一个内容iframe,在其中嵌入不同的web应用程序。 其中一些应用程序是由我们编写的,一些是第三方的

现在,在该iframe中,我们嵌入了Microsoft Reporting Service报表等内容。 问题是,Reporting Service Reports需要QuirksMode“正确”呈现。 而且门户不能在怪癖模式下工作(就我而言,这很好,因为我们只针对9,可能还有IE8)。门户在IE7中也不能很好地呈现,我们将尽快放弃IE8支持

但是,IE9似乎从父页面继承了文档模式,因此reporting service报告将以IE9标准模式而不是quirks模式呈现。 所以所有的报告都显示不正确(我不是说一点点,它真的很严重,完全不正确,绝对可怕)

问题是,我们无法更改报告服务…
无法使reporting service(任何版本)呈现非quirksmode HTML

根据 我可以补充一点


获取要在QuirksMode中渲染的iframe。(编辑:当我不关心门户如何呈现和放置时,甚至不起作用)

不幸的是,门户网站如前所述不兼容IE7,因此这不是一个选项。
此外,SSRS报告在门户以外的另一个域上运行,因此我不能以任何方式使用JavaScript/jQuery

有没有办法在不破坏父页面布局的情况下,以QuirksMode进行iframe渲染?
或者(已经存在)使reporting service呈现有效HTML的方法(我当然没有时间编写自定义HTML呈现扩展)?

通过:

虽然较新的呈现引擎仅在Windows®Internet Explorer®检测到HTML页面已请求最高级别的标准支持时使用,但对于可能在frame和iframe元素中加载的子页面,情况并非总是如此。由于一次只能有一个渲染引擎处于活动状态,IE9模式还包括怪癖模拟模式


很抱歉,但您想要在IE9中实现的目标是不可能的。

按照2016年的要求进行亡灵巫术

如果您有相同的问题(SSR):

SQL Server2016CTP 3.3报告服务(preview portal)提供符合标准的HTML。

这是一个有点肮脏的想法,但您可能会在iframe中添加一些无效的HTML,迫使IE退回到quirks模式。但是我不知道这是否会导致整个页面以怪癖模式呈现。好主意,将iframe和它邪恶的兄弟QuickMode结合起来。@Rufus:它的拼写是怪癖模式,不是QuickMode,但你有一点:)在我的辩护中:这个想法不是我的(事实上,我从来没有被问过,也没有被告知过,既没有关于iframe,也没有关于使用SSR)!然而,由于我是“ReportGuy”,这似乎是我的错,这似乎意味着我显然是“有罪的”…@Rufus:哦,顺便说一句:对于第三方内容,除了iframe之外,唯一可行的其他选择是弹出窗口(iframe的邪恶大哥)
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<meta http-equiv="X-UA-Compatible" content="IE=8" />