应用场景: 屏蔽各种论坛上的主题链接
就是说如果元素内的任何文本内容含有某个关键字,那么就屏蔽掉整个元素,甚至上级元素。
一直想要这样的功能,但找了很久都没找到。
1
chucongqing 2018-04-08 09:23:39 +08:00 1
油猴自己写一个?
|
2
greatghoul 2018-04-08 09:24:23 +08:00 1
自己常看哪个论坛,自己写一个算了。
|
3
dong3580 2018-04-08 09:34:09 +08:00 1
Adblock => 屏蔽此页面上的广告 参考一下这一块的代码
|
4
DeweyReed 2018-04-08 10:21:21 +08:00 1
TamperMonkey 呀,比如
``` (function() { 'use strict'; document.querySelectorAll('div[id^=adsBlock]').forEach(function(e) { e.parentNode.parentNode.removeChild(e.parentNode); }); })(); ``` 就可以删掉一些广告。有的网站用 AdBlock 屏蔽后,会留一个让你白名单的框框,用油猴删掉。想怎么改都行。 |
5
rabbbit 2018-04-08 10:57:12 +08:00 via iPad 2
uBlock Origin
使用:has-text 选择器 URL##元素选择器:has-text(关键词) |
6
MuscleOf2016 2018-04-08 11:03:35 +08:00 1
油猴自己写+1
|
7
xuboying 2018-04-08 11:54:45 +08:00 1
@DeweyReed #4 这样的代码一般 bind 在什么事件里?现在的动态网页比较多,如果是 load 只能用一次,后面加载的就不行了
|
8
patx 2018-04-08 12:21:18 +08:00 via Android 1
adblock 了解下
|
9
longear OP //谢谢大家,涨姿势了,写了个 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'); })(); |