在新窗口中打开链接

问题描述:

我正在使用动态导航的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

$(“#linkid”)。attr(“target”,“_blank”);

或者通过CSS样式$(“ linkclass”)

+1

这就是我也会这么做的,但是他出于某种原因似乎并不想使用JQuery。 – 2010-03-30 16:10:54

+0

我以为它说过;糟糕! – 2010-03-30 20:00:07

您可以右键单击该链接,然后按‘打开新窗口/标签’

认真的目标,你不应该覆盖浏览器的默认行为,也不会强制用户在新窗口中打开链接。如果用户想要在新窗口中打开链接,他已经知道如何操作(通过选择弹出菜单中的条目,甚至使用鼠标手势)。但开在同一窗口中的链接,如果该链接被“逼”来打开一个新窗口(含target="_blank")要困难得多,特别是如果有JavaScript的参与(我真的很讨厌像javascript:showDetails('12453563');链接)

对于所有页面上的链接,而不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"; 
    } 
}