8

问题:

我们有一个门户,其中 doctype 与 xhtml 1.0 兼容。然后,在门户中,我们有一个内容 iframe,我们在其中嵌入了不同的 Web 应用程序。其中一些应用程序是由我们编写的,一些是第 3 方。

现在,在该 iframe 中,我们嵌入了 Microsoft Reporting Service 报告等内容。问题是,Reporting Service Reports 需要 QuirksMode 才能“正确”呈现。并且门户在 QuirksMode 中不起作用(就我而言,这很好,因为我们只针对 9,可能还有 IE8)。门户在 IE7 中也无法正常渲染,我们将尽快放弃对 IE8 的支持。

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

问题是,我们无法更改报告服务......
没有办法让报告服务(任何版本)呈现非怪异模式的 HTML。

根据将 iframe 呈现在怪癖模式下吗? 我可以补充

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<meta http-equiv="X-UA-Compatible" content="IE=8" />

让 iframe 在 QuirksMode 中呈现。(编辑:当我不关心门户如何呈现并将其放入时甚至不起作用)

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

有什么方法可以在 QuirksMode 中进行 iframe 渲染,而不会破坏父页面布局?
还是一种(已经存在的)使报告服务呈现有效 HTML 的方法(我当然没有时间编写自定义 HTML 呈现扩展)?

4

2 回答 2

2

通过MSDN

尽管仅当 Windows® Internet Explorer® 检测到 HTML 页面已请求对标准的最高级别支持时才使用较新的呈现引擎,但对于可能在框架和 iframe 元素中加载的子页面并不总是如此。由于一次只能激活一个渲染引擎,IE9 模式还包括对 Quirks 模式的仿真。

对不起,但你想做的事情在 IE9 中是不可能实现的。

于 2013-02-01T17:31:05.180 回答
0

根据 2016 年的死灵法。

如果您有同样的问题(使用 SSRS):
SQL-Server 2016 CTP 3.3 Reporting-Service(预览门户)提供符合标准的 HTML。

于 2016-03-14T14:59:15.677 回答