我已经“创建”了一个非常小的脚本,用于使用 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()
删除您不需要的元素。
在过滤器中,我使用 split
和 slice
从 href
中提取 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/