2014-10-09 34 views
0

以下信息从this page其中讨论“无用空窗口”的问题,我试图创建一个脚本,开始下载一个zip文件:下载zip文件使用JS window.open _self没有“无用的窗口”

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

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

如何在不加载“无用窗口”的情况下使用js在加载页面内容时异步启动下载?

+0

你实现它在哪里?你能举一个活生生的例子吗? – Meer 2014-10-11 21:52:29

回答

2

您可以改为使用隐藏的iframe。 window.open会在使用_self时清除所有的页面内容。

下面是一个简单的例子

<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>