如何防止execCommand('SaveAs',打开新选项卡或窗口

时间:2014-06-09 12:45:53

标签: javascript dom internet-explorer-9 domdocument execcommand

我必须在IE中生成下载弹出窗口。 我使用下面的代码。 当我点击按钮时,它会打开一个新选项卡和另存为对话框

 function SaveContents(element) {

            if (document.execCommand) {
                var oWin = window.open("about:blank","_blank");![enter image description here][1]
                oWin.document.write(element);
                oWin.document.close();
                var success = oWin.document.execCommand('SaveAs', false, "FilteredReport.xls")
                oWin.close();

            }

}

如何在不打开新窗口或标签的情况下显示“另存为对话框”。

我也可以使用

将字符串的数据写入excel
oWin.document.write(element);

因为它被写入打开的新标签页或窗口

下图解释..

enter image description here

2 个答案:

答案 0 :(得分:1)

代替下面的代码段中的IEwindow.document.execCommand('SaveAs', true, fileName + ".xls");

if (window.navigator.msSaveOrOpenBlob) {
     blobObject = new Blob([CSV]);
     window.navigator.msSaveOrOpenBlob(blobObject, 'Export.xls');
 }
IEwindow.close();

答案 1 :(得分:0)

包含ID为iframeForExcelExportonIE

的iframe
<iframe id="IframeForExcelExportonIE" style="display: none"></iframe>

IframeForExcelExportonIE.document.open("txt/html", "replace");
IframeForExcelExportonIE.document.write(cln.innerHTML);
IframeForExcelExportonIE.document.close();
IframeForExcelExportonIE.focus();
sa = IframeForExcelExportonIE.document.execCommand("SaveAs", true, " test.xls");