在我的应用程序中,用户可以将他们的工作导出到Excel。
它的工作原理是通过打开一个弹出窗口(window.open(...)
),然后父窗口将数据写入表单,然后将表单提交回服务器。
服务器生成文件,并将其流式传输回弹出窗口,在那里下载对话框出现。 它还使用一个令牌编写了一个cookie。
此令牌对于每个下载弹出窗口都是唯一的,当窗口检查该cookie时(定期检查),它会关闭自身并使用window.close()
关闭,因为用户已经收到了文件下载提示。
这在IE7和IE8中非常有效。
然而,由于IE9决定摆脱对话框并用信息栏替换它,所以窗口在用户采取行动下载之前就关闭了,如果他们确实点击了它,则不会在没有手动打开下载对话框的情况下知道何时完成下载。
作为临时解决方案,不再关闭弹出窗口。
但是,我想能够为用户关闭它,因为一旦他们的下载开始,它对他们完全无用。
如何关闭此窗口并仍然能够在IE9中向用户发出下载完成并可以打开的警报?