问题:
我们有一个门户网站,其中doctype与xhtml 1.0兼容。 然后,在门户网站中,我们有一个内容iframe,我们嵌入了不同的Web应用程序。 其中一些申请是我们写的,有些是第三方。
现在,在iframe中,我们嵌入了Microsoft Reporting Service报告等。 问题是,报告服务报告要求QuirksMode“正确”呈现。 门户网站在QuirksMode中不起作用(就我而言,这很好,因为我们只针对9,可能还有IE8)。门户网站在IE7中也没有好转,我们将尽快放弃IE8支持。
但是,IE9似乎从父页面继承了文档模式,因此报告服务报告将以IE9标准模式而不是quirks模式呈现。 因此所有报告都显示不正确(我并不是说一点点,它真的很严重,完全错误,绝对可怕)
问题是,我们无法更改报告服务...
没有办法让报告服务(任何版本)呈现非quirksmode HTML。
根据{{3}}
我可以添加
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<meta http-equiv="X-UA-Compatible" content="IE=8" />
要在QuirksMode中渲染iframe。(编辑:当我不关心门户网站如何呈现并将其放入时,它甚至不起作用)
不幸的是,门户网站如上所述,而不是IE7兼容,所以这不是一个选择
此外,SSRS报告在除门户网站之外的其他域上运行,因此我无法以任何方式使用JavaScript / jQuery。
有没有办法在QuirksMode中制作iframe渲染,而不会破坏父页面布局?
或者(已经存在的)使报表服务呈现有效HTML的方式(我当然没有时间编写自定义HTML呈现扩展名)?
答案 0 :(得分:2)
通过MSDN:
虽然较新的渲染引擎仅在Windows®InternetExplorer®检测到HTML页面请求了对标准的最高级别支持时使用,但对于可能在frame和iframe元素中加载的子页面,情况并非总是如此。由于一次只能激活一个渲染引擎,因此IE9模式还包括Quirks模式的仿真。
很抱歉,但是你想做的事情在IE9中无法实现。
答案 1 :(得分:0)
根据2016年进行死亡。
如果您遇到同样的问题(使用SSRS):
SQL-Server 2016 CTP 3.3 Reporting-Service(预览门户)提供符合标准的HTML。