2017-09-05 36 views
0

下面的代碼類似於在頁面所有鏈接點擊(當然,第一個後,頁面會發生變化,所有任務將無法完成,我給它只是作爲一個例子):如何以類似點擊事件的方式在香草JavaScript中的新窗口中打開鏈接?

document.querySelectorAll('a').forEach((e)=>{ 
    e.click(); 
}); 

如果我想在新窗口中打開頁面中的所有鏈接(然後任務將完成)該怎麼辦。

我在控制檯試過這樣:

document.querySelectorAll('a').forEach((e)=>{ 
    e.window.open(); 
}); 

而且

document.querySelectorAll('a').forEach((e)=>{ 
    e.click(window.open()); 
}); 

而且

document.body.addEventListener(function(e) { 
    if (e.target.nodeName.toUpperCase() === 'A' && e.target.href) { 
     e.target.target = '_blank'; 
    } 
}, true); 

無工作。

什麼是正確的語法?

+0

你想*打開*它們,或者更新它們,以便當*用戶*點擊它們時它們將打開一個新窗口?瀏覽器不會讓你一次打開所有的瀏覽器。 –

+0

我想打開它們。 – user8551674

+0

所有這些?一次全部?瀏覽器不會讓你,這是一些邪惡的網站。 –

回答

1

document.querySelectorAll('a').forEach(function (el, i) { 
 
    console.log(el.href, i); 
 
    window.open(el.href, 'link' + i); 
 
});

正確的語法將上述但是瀏覽器不會讓你在一次由於潛在的濫用打開多個窗口之一。想象一下,爲您打開20個新標籤的頁面...不太好。

+0

非常感謝。豎起大拇指。爲什麼我們需要'link'+ I,如果我們使用'forEach()'爲所有'a'標籤循環window.open? – user8551674

相關問題