利用油猴插件的脚本版列表页屏蔽某飞版
继上一贴某飞CEO拉黑屏蔽活在自己世界是如何操作的,网友说是屏蔽动态私信类的,不是屏蔽帖子
睡前抽空谷歌了一下discuz论坛如何屏蔽指定用户的帖子,搜索到了一篇依托油猴插件的脚本版,原帖子
https://www.locmjj.com/80.html
所以需要浏览器安装好油猴插件再添加脚本
有兴趣朋友可以去看一下,以下是我经过优化版的
列表页可以成功屏蔽指定id帖子、或指定关键字的帖子
但是内容页,我测试后回帖没有成功屏蔽,大概率是id所在标签没有正确,大家可以查看源代码修改
夜了,老婆催睡觉,没有时间慢慢排查,有兴趣朋友的自行复制研究
睡前抽空谷歌了一下discuz论坛如何屏蔽指定用户的帖子,搜索到了一篇依托油猴插件的脚本版,原帖子
https://www.locmjj.com/80.html
所以需要浏览器安装好油猴插件再添加脚本
有兴趣朋友可以去看一下,以下是我经过优化版的
- // ==UserScript== // @name 4414Discuz论坛 基于ID/标题关键词 屏蔽帖子 // @namespace 4414屏蔽某飞 // @description 根据用户名、关键词,屏蔽帖子 // @include */viewthread.php* // @include */thread* // @include */thread-*.html // @include */redirect.php* // @include */forum-redirect-tid* // @include */forum-viewthread-tid* // @include */forum.php?mod=viewthread* // @include */forum.php?mod=forumdisplay* // @include */forum-*.html // @version 2022/8/9 // ==/UserScript== blockAll(); var mo = new MutationObserver(function(allmutations) { blockAll(); }); mo.observe(document.querySelector('body'), {'childList': true}); function blockAll() { var dogs = new Array("飞飞CEO"); //要屏蔽的ID,写在这行,注意英文引号 var dogtitles = new Array("火车头", "SEO"); //要屏蔽的标题关键字,写在这行,注意英文引号 // 主题列表页 针对ID for (x in dogs) { dog = document.evaluate('//table/tbody[tr[1]/td[2]//cite/a[text()="' + dogs[x] + '"]]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); if (dog.snapshotLength) { for (var i = 0, c = ""; i < dog.snapshotLength; i++) { dog.snapshotItem(i).innerHTML = ""; } } } // 内容页 针对ID for (x in dogs) { dog = document.evaluate('//table/tbody[tr[1]/td[1]//a[text()="' + dogs[x] + '"]]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); if (dog.snapshotLength) { for (var i = 0, c = ""; i < dog.snapshotLength; i++) { //c = dog.snapshotItem(i).firstChild.childNodes[3].textContent.replace(/\s*/g, "").slice(0, 2); //c = (Number(c) > 9) ? c + "楼" : c; //dog.snapshotItem(i).innerHTML = "<font color='#999'><center>" + c + " " + dogs[x] + "</center></font>"; dog.snapshotItem(i).innerHTML = ""; } } } // 主题列表页 针对标题 for (x in dogtitles) { dog = document.evaluate('//table/tbody[tr[1]/th[1]/a[contains(text(),"' + dogtitles[x] + '")]]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); if (dog.snapshotLength) { for (var i = 0, c = ""; i < dog.snapshotLength; i++) { dog.snapshotItem(i).innerHTML = ""; } } } // 不明 for (x in dogs) { dog = document.evaluate('//table/tbody[tr[1]/td[1]/div[1]//font[text()="' + dogs[x] + '"]]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); if (dog.snapshotLength) { for (var i = 0, c = ""; i < dog.snapshotLength; i++) { c = String(dog.snapshotItem(i).firstChild.childNodes[3].textContent.match(/\d+#/)).replace(/#/, "楼"); dog.snapshotItem(i).innerHTML = "<b><center>c被屏蔽帖子 " + c + " <font color=red>" + dogs[x] + "</font></center></b>"; //dog.snapshotItem(i).innerHTML = ""; } } } }
但是内容页,我测试后回帖没有成功屏蔽,大概率是id所在标签没有正确,大家可以查看源代码修改
夜了,老婆催睡觉,没有时间慢慢排查,有兴趣朋友的自行复制研究