[英]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.