尽管这是不可能的,但我还是通过一些魔法在 Chrome 中成功做到了这一点。首先您需要设置download
归因于您的所有链接 f.ex:
<a href="http://example.com/image1.jpg" download>download</a>
<a href="http://example.com/image2.jpg" download>download</a>
然后创建一个合成点击函数:
function makeClick(element) {
var evt = element.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true,
element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,
false, false, false, 1, null);
element.dispatchEvent(evt);
}
然后只需循环访问您的链接并调用它:
var links = document.getElementsByTagName('a');
for(var i=0;i<links.length; i++) {
makeClick(links[i]);
}
这是一个演示:http://jsfiddle.net/37pFC/ http://jsfiddle.net/37pFC/
在 Chrome 中,您会收到一条警告,内容类似于“此网站希望您下载多个文件。允许吗?”但这可能是可以控制的。
免责声明:我没有在其他浏览器中尝试过,我认为它对跨浏览器不太友好。