使用JS window.open _self下载zip文件而没有“无用的窗口”

时间:2014-10-09 21:28:49

标签: javascript download

来自 this page 的信息,其中出现了无用的空窗口"我正在讨论,我试图创建一个开始下载zip文件的脚本:

<script>window.open('archive.zip','_self')</script>

以上内容正确开始下载,但页面完全空白,没有内容可见。我可以看到整个源已加载但未显示。

如何在加载页面内容时使用js异步启动下载,而不使用&#34;无用的窗口&#34;?

1 个答案:

答案 0 :(得分:2)

您可以使用隐藏的iframe代替。使用_self时,window.open将清除所有页面内容。

这是一个简单的例子

<a href="archive.zip" target="download_frame">Initiate download from link</a>
<iframe id="download_frame" name="download_frame" src="about:Blank" style="width:0px; height:0px; overflow:hidden;" frameborder="0" scrolling="no"></iframe>
<script type="text/javascript">
    // initiate download by script
    // add this in onload event or after the iframe
    document.getElementById('download_frame').src="archive.zip";
</script>