如何通过Tampermonkey在新选项卡中打开单击的链接?

时间:2018-08-04 03:26:04

标签: javascript jquery google-chrome tabs tampermonkey

所以我有一个似乎很简单的问题。我正在尝试使用以下代码自动打开页面上的特定链接:

// ==UserScript==
// @name     AutoClicker
// @include  https://example.com/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==

var TargetLink = $("a:contains('cars')")

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

//--- but open it in a new tab

出色地工作。

唯一的问题是我不知道在新标签页中打开所选链接的方法。我尝试了以下代码的迭代,但无济于事:

var TargetLink = $("a:contains('cars,' '_blank')")

我知道我需要使用_blank,但是我不确定应该在哪里或是否应该用jQuery写。我也尝试过将_blank放置在contains之外,但是我不确定如何在jQuery中编写代码。

我只希望所选链接在点击后在新标签中打开。有什么建议或想法吗?

1 个答案:

答案 0 :(得分:6)

问题不清楚,问了两个不同的问题。 是否要在没有用户交互的情况下打开标签页?

如果是, Tampermonkey具有此功能:GM_openInTab()Doc

所以:

<php?
echo ucfirst
?>

如果不是,使用jQuery's attr()Doc也很容易。

所以:

// ==UserScript==
// @name     AutoClicker
// @include  https://example.com/*
// @require  https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant    GM_openInTab
// ==/UserScript==

var TargetLink = $("a:contains('cars')");

if (TargetLink.length)
    GM_openInTab (TargetLink[0].href);

对于javascript驱动的页面(也适用于静态页面):

// ==UserScript==
// @name     NOT an AutoClicker, per question text
// @include  https://example.com/*
// @require  https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==

var TargetLink = $("a:contains('cars')");

if (TargetLink.length)
    TargetLink.attr ('target', '_blank');