业务场景: 点击按钮 同时下载 多个 PDF 文件。PS :后台返回 URL列表 因window.open()无法实现
故 使用iframe 解决:
代码:
createIFrame(url, triggerDelay, removeDelay) {
//动态添加iframe,设置src,然后删除
triggerDelay = 100
removeDelay = 1000
setTimeout(function () {
var frame = $('<iframe style="display: none;" class="multi-download"></iframe>');
frame.attr('src', url);
$(document.body).after(frame);
setTimeout(function () {
frame.remove();
}, removeDelay);
}, triggerDelay);
}
然后 返回的数组 forEach 一下就 大功告成
res.data.url_list.forEach((item, index) => {
this.createIFrame(item, index * 100, 1000);
})