我有多個用戶可供下載的URL。下載應該在點擊「贊」或發佈「Tweet」之後觸發。我已經成功地爲兩者設置了回調函數。用Javascript函數啓動下載
我想知道如何使用Javascript,以便同時觸發多個下載。一種解決方案是使用window.location
,但這隻會觸發單一下載。我甚至可以做多個window.open
,但彈出式窗口攔截器會阻止這種情況。
對於這種情況我還有其他什麼方法嗎?
我有多個用戶可供下載的URL。下載應該在點擊「贊」或發佈「Tweet」之後觸發。我已經成功地爲兩者設置了回調函數。用Javascript函數啓動下載
我想知道如何使用Javascript,以便同時觸發多個下載。一種解決方案是使用window.location
,但這隻會觸發單一下載。我甚至可以做多個window.open
,但彈出式窗口攔截器會阻止這種情況。
對於這種情況我還有其他什麼方法嗎?
你可以做的是創建該文件的src爲每個下載隱藏的iframe,像:
function download(url){
var iframe = document.createElement("iframe");
iframe.src = url;
iframe.style.display = "none";
document.body.appendChild(iframe);
}
你可以,如果您需要在瀏覽器下載文件,而不使用content-disposition: attachment;filename=filename
使用此功能頭。
function aDownload(url, name) {
// Original code from https://github.com/eligrey/FileSaver.js
// Rewrited to work without blobs
// Will return true if worked
var click, save_link, event;
save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
if(!("download" in save_link)) return false; // a[download] not supported on this browser
save_link.href = url;
save_link.download = name;
event = document.createEvent("MouseEvents");
event.initMouseEvent(
"click", true, false, window, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
return save_link.dispatchEvent(event); // false if event was cancelled
}
這與多個調用,似乎並沒有在Chrome中工作。 – kapeels 2012-03-28 02:35:23
mmm ...我只用10次調用就可以測試它,它可以工作...使用chrome開發工具檢查,所有請求都在同一時間發送... – Jaime 2012-03-28 02:39:25
Chrome中沒有下載提示,而是獲取登錄控制檯'資源解釋爲文檔,但與MIME類型應用程序/ [zip/pdf/...]'傳輸' – kapeels 2012-03-28 02:45:17