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 的新选项卡中打开。这对某些人来说可能很明显,但我一生都无法弄清楚,有人可以帮助我吗?

4

3 回答 3

2

除了更改当前窗口的位置,您还可以使用类似window.open()打开一个新窗口的方法:

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

请注意,弹出窗口阻止程序等可能会阻止打开窗口。

边注:

MDN 对它的使用提供了相当广泛的阅读,一般意见是为了可用性而避免诉诸 window.open()。大多数现代浏览器都使用选项卡式浏览,而在新窗口中打开页面则远离了这一点。

于 2013-03-30T10:25:56.317 回答
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.

}

并且还要注意;

于 2013-03-30T10:28:39.313 回答
0

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

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

所以target="_blank"将被添加到我们爱土豆的链接中。

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

于 2013-03-30T10:40:22.857 回答