繁体   English   中英

点击多个href下载链接

[英]click multiple href download links

function clickLink(link) {     
var cancelled = false;
if (document.createEvent) {
    var event = document.createEvent("MouseEvents");
    event.initMouseEvent("click", true, true, window,
        0, 0, 0, 0, 0,
        false, false, false, false,
        0, null);
        cancelled = !link.dispatchEvent(event);
    }
    else if (link.fireEvent) {
        cancelled = !link.fireEvent("onclick");
    }
    if (!cancelled) {
        window.location = link.href;
    }
}

for (var i = 0; i < links.length; i++) { 
    var x=links[i];
    if(x.href.indexOf('download.mp4') > -1) { 
        console.log(x.href); x.click(); 
        }
    } 
for (var i = 0; i < links.length; i++) { 
    var x=links[i];
    if(x.href.indexOf('download.mp4') > -1) {
        console.log(x.href); clickLink(x); 
    }
}

使用以上代码,目的是将所有视频链接下载到一页上。 尽管控制台日志包含所有链接,但我希望仅下载一个链接。 没有错误或警告,我该如何实现? 还尝试了没有window.location行,没有运气...

现在解决了以下问题:

function JustclickLink(link) {     
       var cancelled = false;
if (document.createEvent) {
    var event = document.createEvent("MouseEvents");
    event.initMouseEvent("click", true, true, window,
        0, 0, 0, 0, 0,
        false, false, false, false,
        0, null);
        cancelled = !link.dispatchEvent(event);
    }
    else if (link.fireEvent) {
        cancelled = !link.fireEvent("onclick");
    }

    if (!cancelled) {
    window.open(link.href,'_blank');         
    }
}
   for (var i = 0; i < links.length; i++){ 
    var x=links[i];
    if(x.href.indexOf('download.mp4') > -1){
        console.log(x.href); JustclickLink(x); 
    }
}

这是您想要的替代品。 Window.open应该用于多次下载,因为window.location在代码运行中只会触发一次。

$('#foo').on('click', function() {
window.open($(this).attr("href"),'_blank');
});
$('#foo').trigger('click');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM