the*_*ula 4 javascript jquery tabs google-chrome 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
Run Code Online (Sandbox Code Playgroud)
哪个效果很好.
唯一的问题是我不知道在新标签页中打开所选链接的方法.我尝试过以下代码的迭代,但无济于事:
var TargetLink = $("a:contains('cars,' '_blank')")
Run Code Online (Sandbox Code Playgroud)
我知道我需要使用_blank,但我不确定我应该在jQuery中编写它的确切位置.我也尝试将_blank放在contains之外,但我不确定如何在jQuery中编写代码.
我只是想在单击时在新标签页中打开所选链接.有什么建议或想法?
问题不明确,提出了两个不同的问题. 您是否希望打开选项卡而不进行用户交互?
如果是, Tampermonkey具有以下功能: GM_openInTab()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);
Run Code Online (Sandbox Code Playgroud)
如果没有,使用jQuery的attr()Doc也很容易.
所以:
// ==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');
Run Code Online (Sandbox Code Playgroud)
对于javascript驱动的页面(也适用于静态页面):
// ==UserScript==
// @name NOT an AutoClicker, per question text
// @match *://YOUR_SERVER.COM/YOUR_PATH/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// @grant GM.getValue
// ==/UserScript==
//- The @grant directives are needed to restore the proper sandbox.
waitForKeyElements ("a:contains('cars')", blankifyLink);
function blankifyLink (jNode) {
jNode.attr ('target', '_blank');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1378 次 |
| 最近记录: |