2013-06-26 78 views
1

我正在製作一個Intranet網站,用於將客戶端鏈接到信息和文件。 我有一個包含所有鏈接和ID的JavaScript腳本,所以我可以輕鬆添加新鏈接並編輯它們。 下面是JS代碼:在JavaScript中處理鏈接

function set_links() 
{ 
    setHrefById("LinkID1", "link1"); 
    setHrefById("LinkID2", "link2"); 
    setHrefById("LinkID3", "link3"); 
} 

function setHrefById(idName. url) 
{ 
    if(document.getElementById(idName)) 
    { 
     document.getElementById(idName).href = url; 
    } 
} 

我有顯示在網頁上正確的鏈接。

基本上,我想要發生的是,當點擊一個按鈕時,所有的鏈接立即在新標籤中打開。

此外,我將如何能夠自動添加這些鏈接到網頁上。我必須手動將其添加到網頁:

<A target="_blank" id="LinkID1" href="">Click here</A> 
+0

你的意思喜歡這個? http://jsfiddle.net/fluffydevilbunny/Ljmz6/確保您的彈出式窗口攔截器被禁用或只有一個選項卡將激活(至少在鉻) –

+0

這是完美的 - 謝謝。 – DanielSeed

回答

0

使用window.open方法,以及name參數設置爲_blank打開一個新標籤頁的鏈接。例如window.open("http://google.com", "_blank")See here

如果你只是想存儲在JavaScript中的鏈接,然後當用戶點擊一個按鈕打開所有這些,爲什麼不這樣做:

function addListener(element, eventName, handler) { 
    if (element.addEventListener) { 
    element.addEventListener(eventName, handler, false); 
    } 
    else if (element.attachEvent) { 
    element.attachEvent('on' + eventName, handler); 
    } 
    else { 
    element['on' + eventName] = handler; 
    } 
} 

var links = ["http://google.com", "http://yahoo.com"]; 
var open_trigger = document.getElementById('open-all'); 
addListener(open_trigger, "click", function() { 
    for(var i = 0; i < links.length; i ++) { 
     window.open(links[i], "_blank"); 
    } 
}); 

http://jsfiddle.net/n3rpq/

+0

感謝您的回覆。我剛剛嘗試了window.open方法,但它不適用於我正在查找的內容。當我點擊按鈕時,我需要它打開JS文檔中的所有鏈接。至於鏈接的位置,我需要它們在JS文檔中,然後當我添加一個新文檔時,它會自動在HTML網頁上生成。目前,我必須使用setHrefById(「LinkID」,「link url」)添加鏈接到JS;然後使用Click here將其添加到HTML文檔中。至於結構,我只想要一個全部打開按鈕。 – DanielSeed

+0

如果你只想要一個全部打開的按鈕,那麼你爲什麼要首先創建HTML錨呢? –

+0

以上情況如何?另外,你是否使用jQuery? –