【发布时间】:2021-02-11 10:48:20
【问题描述】:
我正在使用 javascript 从 url 下载多个文件。
我已使用以下网址执行此操作,但没有找到任何解决方案,
它在 Firefox 和 google chrome 上运行良好,但不适用于 ie 和 edge
我使用了以下代码。
reportFileList.forEach((report, index) => {
var downloadUrl = report
setTimeout(function() {
var a = document.createElement('a');
a.href = downloadUrl;
a.target = '_parent';
if ('download' in a) {
a.download = downloadUrl;
}
(document.body || document.documentElement).appendChild(a);
if (a.click) {
a.click(); // The click method is supported by most browsers.
}
a.parentNode.removeChild(a);
}, 500);
});
【问题讨论】:
-
您的浏览器 developer 工具控制台中是否出现任何错误?
-
不,我没有收到任何错误,它只是下载最后的文件
-
它适用于 Firefox 和 google chrome,但不适用于 ie 和 edge
-
对,这类信息可能会在问题中有用 - 微软浏览器不像其他浏览器那样工作的事实非常令人惊讶和罕见
-
据我了解,您正在以编程方式创建链接元素,单击它们然后删除它们以加载其页面。这是一种冗长的做事方式。另外,我不明白这一点,因为您一次只能加载一个页面。你想达到什么目的? “不,我没有收到任何错误,它只是下载最后一个文件”如果你说只加载一个页面,那完全有道理:浏览器知道一次加载多个页面是愚蠢的,所以它取消了除了最后一次加载。也许您希望不同页面的
setTimeout间隔不同?
标签: javascript jquery