javascript - 如何避免 Tampermonkey 中的特定链接

标签 javascript jquery

我已经“创建”了一个非常小的脚本,用于使用 TamperMonkey 自动单击特定网站上的链接,

(function() {
'use strict';
var TargetLink = $("a:contains('Click Me')");

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

当我尝试点击链接时,看起来像这样 <a href="/ID/1010101">Click Me</a>举个例子。

我希望脚本执行的操作是避免单击一个特定的“ID”并单击所有其他“ID”。

例如,我想避免点击 ID 1,而是点击 2、3 和 4,其中 4 是 ID 的总数。

不确定我是否如我所愿地解释了这一点,但希望它在某种程度上可以理解。

最佳答案

您可以使用.filter()删除您不需要的元素。

在过滤器中,我使用 splitslicehref 中提取 id,然后检查 id 是否在 中idsBlacklist.

(function() {
  'use strict';

  var idsBlacklist = [
    "1010101"
  ];

  var query = "a:contains('Click Me')";
  var TargetLink = $(query).filter(function () {
    var id = this.href.split('/').slice(-1)[0];
    return idsBlacklist.indexOf(id) < 0;
  });
  
  var blackListed = $(query).filter(function () {
    var id = this.href.split('/').slice(-1)[0];
    return idsBlacklist.indexOf(id) >= 0;
  });

  if (!blackListed.length && TargetLink.length) {
    console.log(TargetLink[0].href);
    //window.location.href = TargetLink[0].href;
  }

})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/ID/1010101">Click Me</a>
<a href="/ID/1010102">Click Me</a>
<a href="/ID/1010103">Click Me</a>

关于javascript - 如何避免 Tampermonkey 中的特定链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925380/

相关文章:

javascript - 配置 karma.js 以使用 react 和 ES6

javascript - 放大缩小到多张照片

javascript - Jquery 模态弹出导致页面滚动

jquery - 当外部 div 动画时,Div 内的 Div 隐藏

php - 使用javaScript在linux环境下的Intranet中获取客户端主机名

javascript - 如何组合元素变换?

javascript - 将日期粘在顶部,直到滚动期间出现新日期,就像 WhatsApp 中一样

javascript - 如何设置固定在页面上的videojs播放器

javascript - 节奏.js : templated JSON rendering engine does not run javascript when renders items

php - 使用 PHP 和 JS 到服务器的系统时间