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 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章