js 多文件下载,总是只下载10个?

最近在做一个项目,要求要批量下载文件。
然后出现了这样的一种情况,我的表格数据只要是大于10的,到最后就只下载最多10个。哪怕调用了10次以上的接口,最后浏览器上只弹出10个下载提示框。

我的下载是这个方法:

    angular.forEach($scope.checked,function(checkJob,index) {
        var a = document.createElement('a');
        a.href = xxxxxxxxxx;
        a.download = filename;
        document.body.appendChild(a);
        a.click();
        a.remove(); // 移除掉 <a>
    })`
    

是不是浏览器限制了什么呢?我用谷歌和QQ浏览器都是一样的,只下载10个。有人知道怎么回事吗?

阅读 9.3k
1 个回答

我试了下 加一个有间隔的定时器就好了 时间取100*index也可以 但是10*index不行
原因没去研究

(new Array(20).fill(0)).forEach(function(item, index) {
    setTimeout(()=>{
        var a = document.createElement('a');
        a.href = `xxxx`;
        a.download = `index${index}`;
        a.click();
    },1000 * index)
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题