2013-03-30 128 views
3
// ==/UserScript== 

//--- Note that the contains() text is case-sensitive. 
var TargetLink   = $("a:contains('We love potatoes')") 

if (TargetLink && TargetLink.length) 
    window.location.href = TargetLink[0].href 

我想要在Chrome的新选项卡中找到打开的链接。 这对某些人来说可能是显而易见的,但我无法想象它对于我的生活,有人能帮助我吗?使用TargetLink打开新选项卡

+0

[在新标签使用javascript打开URL]的可能重复(http://stackoverflow.com/questions/4907843/open-url-in-new-tab-using-javascript) – JJJ

+0

当这段代码运行时,它是否应该在新窗口中打开所有链接,或者是否希望代码改变DOM,以便锚点在单击时在新窗口中打开? –

+0

我想要在同一窗口中打开所有链接,但在新选项卡中。 –

回答

2

而是改变当前窗口的位置,你可以使用类似window.open()打开一个新的窗口,而不是:

window.open(TargetLink[0].href, "myWindow"); 

注意,弹出窗口拦截等可以阻止窗口被打开。

旁注:

MDN对使用这种提供quite extensive read,和一般的看法是避免诉诸window.open()的,对于可用性的目的。大多数现代浏览器使用标签式浏览,并且在新窗口中打开页面离开了这一步。

+0

我仍然有一个问题得到这个工作。你介意发布完整的代码吗?也许我很愚蠢,做错了什么。此外,如果它帮助我坐在聊天室,并希望imgur链接自动打开新标签。 –

1

使用下面的代码:

var TargetLink = $("a:contains('We love potatoes')"); // this will select your node 

if (TargetLink && TargetLink.length) { //checks it node was there 
    alert("Going to redirect"); //Just to make sure that we did correct! 

    TargetLink.attr('taget', '_blank'); //add target="_blank" 
    //TargetLink.click(); // This is not working, because of a security issue. 

} 

而且也注意到有关;

+0

现在它会。对错误感到抱歉。 –

0

你不需要if检查,只需使用attr方法:

$("a:contains('We love potatoes')").attr('target', '_blank'); 

所以target="_blank"将被添加到我们爱土豆 -links。

演示:http://jsfiddle.net/qtsWs/