我发现了一个类似的问题,张贴在一个较旧的主题中,但那里给出的答案没有用。我正在使用Mozilla Firefox浏览器(最新版本)进行测试。
我有一个带有imageLinks的数组,并希望在没有用户交互的情况下自动触发下载。我的代码如下:
for (var i=0; i<imageLinks.length; i++) {
if (imageLinks[i]) {
console.log(imageLinks[i]);
var link = document.createElement('a');
link.href = imageLinks[i];
link.download = 'imagefile';
link.click();
}
}
然而,在Forefox中,图像是在新标签中打开的吗?
答案 0 :(得分:0)
我在一个论坛上偶然发现了这个片段,似乎可以解决这个问题。但请注意,浏览器仍会询问用户他/她是否希望保存文件,以及在何处保存文件。此查询可以被接受为&#34;自动对此类型的文件执行此操作&#34;,从那时起,下载将自动保存到本地驱动器。
function simulateClick() {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var a = document.getElementById('myLink');
a.dispatchEvent(evt);
}
可以使用图像链接在阵列上调用此功能,并且可以将用户选择的图像保存到驱动器中。我对此解决方案感到满意,因为它比使用用户选择的图像的ZIP文件更容易实现。图像库很小,因此应该快速初始化下载。