有没有这样的浏览器扩展插件,可以根据关键字 block 掉一个元素或级联的元素

2018-04-08 09:16:34 +08:00
 longear

应用场景: 屏蔽各种论坛上的主题链接

就是说如果元素内的任何文本内容含有某个关键字,那么就屏蔽掉整个元素,甚至上级元素。

一直想要这样的功能,但找了很久都没找到。

3508 次点击
所在节点    浏览器
9 条回复
chucongqing
2018-04-08 09:23:39 +08:00
油猴自己写一个?
greatghoul
2018-04-08 09:24:23 +08:00
自己常看哪个论坛,自己写一个算了。
dong3580
2018-04-08 09:34:09 +08:00
Adblock => 屏蔽此页面上的广告 参考一下这一块的代码
DeweyReed
2018-04-08 10:21:21 +08:00
TamperMonkey 呀,比如
```
(function() {
'use strict';
document.querySelectorAll('div[id^=adsBlock]').forEach(function(e) {
e.parentNode.parentNode.removeChild(e.parentNode);
});
})();
```
就可以删掉一些广告。有的网站用 AdBlock 屏蔽后,会留一个让你白名单的框框,用油猴删掉。想怎么改都行。
rabbbit
2018-04-08 10:57:12 +08:00
uBlock Origin
使用:has-text 选择器
URL##元素选择器:has-text(关键词)
MuscleOf2016
2018-04-08 11:03:35 +08:00
油猴自己写+1
xuboying
2018-04-08 11:54:45 +08:00
@DeweyReed #4 这样的代码一般 bind 在什么事件里?现在的动态网页比较多,如果是 load 只能用一次,后面加载的就不行了
patx
2018-04-08 12:21:18 +08:00
adblock 了解下
longear
2018-04-08 13:59:55 +08:00
//谢谢大家,涨姿势了,写了个 TamperMonkey 用的脚本,用于屏蔽在煎蛋无聊图的某些 ID 发的图,分割线以下复制即可。
//=================================================
// ==UserScript==
// @name 煎蛋不想看到的 ID
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://jandan.net/*
// @grant none
// ==/UserScript==

(function() {
'use strict';
var keywords = [
"某某 1",
"某某 2",
"某某 3" ];
var keyW_Regex = new RegExp (keywords.join('|'), "i"); //-- The "i" makes it case insensitive.

var removeCount =0;
document.querySelectorAll('div[class^=author]').forEach(
function(e) {
if (keyW_Regex.test (e.innerHTML ) ) {
e.parentNode.parentNode.removeChild(e.parentNode);
removeCount++;
}
});
$("<p style='color:red;'> 移除 " + removeCount + "个 </p>").appendTo('ol.commentlist');

})();

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444957

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX