Javascript - 通过 s-s-rS 2008 R2 调用时,window.open 在 IE 中不起作用

Posted

技术标签:

【中文标题】Javascript - 通过 s-s-rS 2008 R2 调用时,window.open 在 IE 中不起作用【英文标题】:Javascript - window.open not working in IE when calling it through s-s-rS 2008 R2 【发布时间】:2014-02-13 06:33:43 【问题描述】:

我在尝试使用 javascript 的 window.open 函数打开钻取报表窗口时遇到问题。它在 Chrome 中运行良好,当我单击超链接时会弹出新的报告窗口,但在 IE 中没有任何反应。父页面使用 IFrame 嵌入到网页中,并通过转到 URL 超链接进入钻取报告。

我正在使用 s-s-rS2008 R2。父报表在其中一列上有一个超链接,在我提到的操作中,我提到了 javascript 在新窗口中弹出钻取报表。我传递了一个参数来运行钻取报告。

这是我尝试使用的 javascript:

="javascript:void(window.open('http://mywebsite.com/ReportServer/Pages/ReportViewer.aspx?/AvailableOrdersDrillDownReport&rs:Command=Render&rc:Parameters=false&OrderNumber=1234','OrdersDrillDown','innerWidth =860,innerHeight=500','_blank'))"

我也尝试使用此脚本:="javascript:void(window.open('http://mywebsite.com/ReportServer/Pages/ReportViewer.aspx?/AvailableOrdersDrillDownReport&rs:Command=Render&rc:Parameters=false&OrderNumber=1234' ,'OrdersDrillDown','innerWidth=860,innerHeight=500','_blank'))"

这些都不适用于 IE。但是,如果我直接在 IE 地址栏中仅粘贴 javascript 并从那里尝试,它可以工作。在通过 javascript 使用 s-s-rS 钻取时,这是 IE 的一个已知问题吗?如果这根本不起作用,是否可以通过任何其他方式实现?

【问题讨论】:

【参考方案1】:

我遇到了完全相同的问题,仅在使用 iframe 中托管的 ReportViewer.aspx 控件时(使用 ReportRenderer 扩展程序时它工作正常),并且仅在最近对我们工作的机器进行了一组 Windows 更新之后。

我通过在我们调用的 s-s-rS URL 末尾添加一个参数解决了这个问题:

&rc:LinkTarget=_self

【讨论】:

我尝试过 &rc:LinkTarget=_self 但我的 s-s-rS 报告显示“不允许使用终止冒号”。

以上是关于Javascript - 通过 s-s-rS 2008 R2 调用时,window.open 在 IE 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS 2008:如何立即生成多个报告?

s-s-rS 2008 导出到 Excel 页码问题

多个 s-s-rS 实例 - 如何查询配置详细信息?

Telerik 通过 s-s-rS 报告?

SQL Server 报告服务 (s-s-rS) 事件

s-s-rS 2008——外部网站链接