2010-03-30 148 views
0

我正在使用動態導航的CMS網站上工作。網站上有一個鏈接,我希望能夠在新窗口中打開。但是,由於這是一個動態環境,我無法將標準,target =「_ blank」添加到鏈接中。所以如何在不使用jquery的情況下在新窗口中打開鏈接?在新窗口中打開鏈接

+2

阻止您使用_blank – Sparr 2010-03-30 16:09:45

+1

我並不完全理解「動態環境」的含義。你可以使用JavaScript嗎?這些鏈接是否有標識符?爲什麼JQuery無法解決這個問題? – 2010-03-30 16:10:24

+0

該鏈接可能是外部鏈接,需要在新窗口中打開或可能是需要在同一窗口中打開的內部鏈接 – 2010-03-30 16:11:28

回答

0

$(「#linkid」)。attr(「target」,「_blank」);

或者通過CSS樣式$(「 linkclass」)

+1

這就是我也會這麼做的,但是他出於某種原因似乎並不想使用JQuery。 – 2010-03-30 16:10:54

+0

我以爲它說過;糟糕! – 2010-03-30 20:00:07

0

您可以右鍵單擊該鏈接,然後按‘打開新窗口/標籤’

認真的目標,你不應該覆蓋瀏覽器的默認行爲,也不會強制用戶在新窗口中打開鏈接。如果用戶想要在新窗口中打開鏈接,他已經知道如何操作(通過選擇彈出菜單中的條目,甚至使用鼠標手勢)。但開在同一窗口中的鏈接,如果該鏈接被「逼」來打開一個新窗口(含target="_blank")要困難得多,特別是如果有JavaScript的參與(我真的很討厭像javascript:showDetails('12453563');鏈接)

0

對於所有頁面上的鏈接,而不jQuery的,但用javascript:要

links=document.getElementsByTagName("a"); 
for(var i=0; i<links.length; i++) { 
    links[i].target="_blank"; 
} 

對於剛剛鏈接,如果給一個唯一的ID:

link=document.getElementByID("link_id"); 
link.target="_blank"; 

提供你想要的鏈接沒有ID,如果您知道網址:

links=document.getElementsByTagName("a"); 
for(var i=0; i<links.length; i++) { 
    if(links[i].href = "http://the/url/you/are/targeting") { 
     links[i].target="_blank"; 
    } 
} 

爲你想要的鏈接,沒有想法提供,如果有一個與之相關的某一類:您將需要澄清你的「動態導航」,爲什麼說是什麼意思

links=document.getElementsByTagName("a"); 
for(var i=0; i<links.length; i++) { 
    if(links[i].className = "blankLinkClass") { 
     links[i].target="_blank"; 
    } 
} 
相關問題