来自 this page 的信息,其中出现了无用的空窗口"我正在讨论,我试图创建一个开始下载zip文件的脚本:
<script>window.open('archive.zip','_self')</script>
以上内容正确开始下载,但页面完全空白,没有内容可见。我可以看到整个源已加载但未显示。
如何在加载页面内容时使用js异步启动下载,而不使用&#34;无用的窗口&#34;?
答案 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>