網上搜到的答案基本上都是下面這種
function loadFilesWin(urlsArray) {
for (let i = 0; i < urlsArray.length; i++){
let aDom = document.createElement('a')//創建標簽
let evt = document.createEvent('HTMLEvents')//創建事件
evt.initEvent('click', false, false)//初始化事件,綁定點擊事件,不冒泡,不阻止瀏覽器默認行為
aDom.download = urlsArray[i]
aDom.target="_blank";
aDom.href = "http://"+encodeURI(urlsArray[i]);//對地址進行編碼
aDom.dispatchEvent(evt)//觸發事件
aDom.click()
}
}
使用時需要注意的問題:
1、下載的地址必須要加http:// /https:// ,
2、需要下載多個數據時(單個下載不需要) 必須要加aDom.target="_blank"; 就是把a標簽的跳轉屬性 改成新開窗口 如果不加這個屬性 下載會只下載第一個,
原因是:href 這個屬性會刷新瀏覽器,所以當下載第一個文件時 瀏覽會刷新造成剩下的代碼無法執行。所以for循環只會執行一次
