一般来说,url方式下载文件用window.location.href即可。
但是有多个,循环下载的时候,如:
var files = []; files.push('mysite.com/file1.txt'); files.push('mysite.com/file2.txt'); files.push('mysite.com/file3.txt'); for(var ii=0; ii<files.length; ii++){ window.location.href = files[ii]; }
只会下载最后一个
原因:window.location.href会发生连接覆盖问题。
解决办法,用iframe下载
function downloadFiles(){ var files = []; files.push('file1.txt'); files.push('file2.txt'); files.push('file3.txt'); for(var ii=0; ii<files.length; ii++){ downloadURL(files[ii]); } } var count=0; var downloadURL = function downloadURL(url){ var hiddenIFrameID = 'hiddenDownloader' + count++; var iframe = document.createElement('iframe'); iframe.id = hiddenIFrameID; iframe.style.display = 'none'; document.body.appendChild(iframe); iframe.src = url; }