Javascript 自动下载启动

Javascript 自动下载启动,javascript,download,Javascript,Download,是否有其他方式启动自动下载。目前我们是这样做的 If download does not start click here: <a href="http://www.example.com/file.zip">Filename (121 MB)</a> 如果未开始下载,请单击此处: 在后面的页面中,我们有了这个代码 <script type="text/javascript"> window.onload=function

是否有其他方式启动自动下载。目前我们是这样做的

If download does not start click here: 
            <a href="http://www.example.com/file.zip">Filename (121 MB)</a>
如果未开始下载,请单击此处:
在后面的页面中,我们有了这个代码

<script type="text/javascript">
    window.onload=function(){
          setTimeout(function(){
                window.location.href='http://www.example.com/file.zip';},2000);
          };
</script>

window.onload=function(){
setTimeout(函数(){
window.location.href=http://www.example.com/file.zip';},2000);
};

问题是,它有时会启动同一个文件以多次下载给最终用户。有更好的方法吗?

一个选择是在页面中隐藏一个
IFrame
,其中
src
指向要下载的zip文件

<div style="display:none;">
    <iframe id="frmDld" src="http://www.example.com/file.zip"></iframe>
</div>

另一个选项是在发送回页面时将文件写入响应流(不知道您在服务器端使用的是什么。如果是asp.net/mvc,那么我可以提供帮助)

如果

<a href="http://www.example.com/file.zip">Filename (121 MB)</a>

那么这也应该起作用:

<?php
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL= http://www.example.com/file.zip \">";
?>

我了解到,大多数浏览器和防病毒软件都会阻止多次下载,尤其是在使用JS运行时。