我有多个网址供用户下载。下载应该在他们点击" Like"之后触发。或发布"推文"。我已经成功设置了两者的回调函数。
我想知道如何使用Javascript以便同时触发多次下载。一种解决方案是使用window.location
,但这只会触发单个下载。我甚至可以做多个window.open
,但弹出窗口阻止程序会阻止它。
我对这种情况有什么其他选择?
答案 0 :(得分:1)
如果您需要在不使用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
}
答案 1 :(得分:0)
您可以做的是为每次下载创建一个隐藏的iframe文件的src,如:
function download(url){
var iframe = document.createElement("iframe");
iframe.src = url;
iframe.style.display = "none";
document.body.appendChild(iframe);
}