2013-03-29 40 views
0

點擊一個鏈接時,我需要JavaScript代碼或HTML來在兩個新瀏覽器標籤中打開兩個網站。我不希望它們在新窗口中打開,或者在當前鏈接所在的頁面上打開。使用一個鏈接打開兩個網頁的JavaScript

+0

無法控制在新窗口中打開JavaScript與JavaScript中的新選項卡。這取決於瀏覽器設置,你不能控制它 – hop

+0

並與HTML? – hop

+0

http://stackoverflow.com/questions/4907843/open-url-in-new-tab-using-javascript – hop

回答

3

它可能不會工作,因爲瀏覽器可能會認爲它是一個彈出窗口並阻止它。

如果用戶允許彈出窗口,你可以這樣做:

​​

像:

<a id="mydoublelink" href="http://site1.com" target="_blank">foo</a> 

document.getElementById("mydoublelink").onclick=function(){ 
    window.open('http://site2.com', '_blank'); 
} 
+0

大多數瀏覽器彈出窗口阻止程序都允許從點擊事件(以及其他一些事件)產生的彈出窗口, 。所以它會工作,除非你有一個非常積極的彈出式窗口攔截器。 – Halcyon

+0

@FritsvanCampen在句子中添加了「可能」。 – fmsf

-1

鬱可嘗試新的目標_newtab

<a href="site.html" target="_newtab">blabla</a> 

它工作在Firefox,唐不知道其他瀏覽器是否支持它。

+1

除非我錯過了我的猜測,否則這隻會在恰好被命名爲「_newtab」的新窗口中打開「site.html」。再次單擊鏈接將在同一窗口中再次打開該頁面。這是否實際上是一個新選項卡取決於用戶如何設置瀏覽器。它可以在新的瀏覽器窗口中輕鬆打開。 –

+0

這是開始在瀏覽器中實現的新行爲,而不僅僅是您正在考慮的普通舊行爲。 – Nelson

+2

有趣的是,我不知道:)你有鏈接到任何文檔? –

1

如果您在onclick事件中致電window.open,您應該沒問題。內置彈出式窗口攔截器允許那些。被阻止的彈出窗口來自其他事件或來自預定事件,如setTimeout

document.getElement("my_link").onclick = function() { 
    window.open(/*..*/); // works 
} 

document.getElement("my_link").onclick = function() { 
    setTimeout(function() { 
     window.open(/*..*/); // will probably get blocked 
    }); 
} 

這意味着,例如,如果您在AJAX調用後打開彈出窗口,它很可能會被阻止。在這種情況下,解決方法是立即打開彈出窗口並稍後填寫內容。這超出了這個問題的範圍,但我覺得這是每個人都應該知道的信息。

+0

我想在鏈接上打開兩個鏈接onclick ..但我不想關閉當前標籤..鏈接繆斯被打開另外兩個標籤 – Chathula

+1

然後調用'window.open()'_twice_ – Halcyon

0

是這樣的嗎?

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function open_win() 
{ 
window.open("URL"); 
open_win_two(); 
} 
function open_win_two() 
{ 
window.open("URL"); 
} 
</script> 
</head> 
<body> 
<a onclick="open_win()">luyfl</a> 
</body> 
</html>