您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
从水源主页直接屏蔽常见类型的低质量发帖,如垃圾标题、戾气帖子等。误伤概率高,宁杀一千原则,请谨慎使用。
当前为
// ==UserScript== // @name 水源低质量发帖过滤器 // @license MIT // @namespace https://gf.qytechs.cn/ // @version 1.2.1 // @description 从水源主页直接屏蔽常见类型的低质量发帖,如垃圾标题、戾气帖子等。误伤概率高,宁杀一千原则,请谨慎使用。 // @match https://shuiyuan.sjtu.edu.cn/* // @grant none // ==/UserScript== (function() { 'use strict'; var removeMode; var keywords = ["😅", "插头", "图书馆键盘", "占座", "交小苗", "拔电", "电动车充", "充电桩", "拔充", "拔插", "车充", "拔线", "恶心", "分流", "被拔", "乱拔", "偷充", "别拔", "拔人"]; var whitelistWords = ["投喂"];//最高优先级:有白名单总会不屏蔽 var biaotidangList = ["!", ":", ",", "禁", "官", "竟"]; // 创建文字元素 var blockTextInfo = ";\)"; var blocktext = document.createElement('div'); blocktext.innerText = blockTextInfo; blocktext.style.height = '100%'; blocktext.style.display = 'flex'; blocktext.style.alignItems = 'center'; blocktext.style.justifyContent = 'center'; blocktext.style.padding = '0 10px'; blocktext.classList.add('block-number-text'); function deviceCheck(){ //移动端设备采用无感屏蔽存在无法无限加载的问题 var htmlElement = document.documentElement; return htmlElement.classList.contains('mobile-view'); } removeMode = !deviceCheck();//移动端不启用移除模式,而是使用隐藏模式,保留控件占位 function block(subject){ if(removeMode){ subject.remove(); } else{ subject.style.visibility = 'hidden'; } } // 查找目标位置并添加按钮 function addTextToContainer(num) { if(num == 0){ blockTextInfo = ";\)"; } else{ blockTextInfo = "x: "+num; } var container = document.getElementById('navigation-bar'); if(container){ var existingBlockText = container.querySelector('.block-number-text'); if(existingBlockText){ existingBlockText.innerText = blockTextInfo; } else{ var firstChild = container.firstElementChild; container.insertBefore(blocktext, firstChild); } } } var counter = 0;//屏蔽计数器 setInterval(function() { // 获取所有需要检测的元素 var elements = document.querySelectorAll('a[role="heading"]'); console.log('元素数量:', elements.length); // 字数少于5个的,删 for (var i = 0; i < elements.length; i++) { var element = elements[i]; var textContent = element.innerText.trim(); var containsWhitelistWord = false; for (var j = 0; j < whitelistWords.length; j++) { if (textContent.includes(whitelistWords[j])) { containsWhitelistWord = true; console.log('白名单检测:', textContent, ' ', whitelistWords[j]); break; } } // 如果文本内容少于等于六个字,则隐藏其母控件的母控件的母控件 if (textContent.length <= 6 && !containsWhitelistWord) { console.log('移除:', textContent); var parentElement = element.parentElement; if (parentElement && parentElement.parentElement && parentElement.parentElement.parentElement) { //parentElement.parentElement.parentElement.style.display = 'none'; //parentElement.parentElement.parentElement.style.height = '0'; //parentElement.parentElement.parentElement.style.visibility = 'hidden'; //parentElement.parentElement.parentElement.style.opacity = '0'; //parentElement.parentElement.parentElement.remove(); block(parentElement.parentElement.parentElement); counter++; } } } // 标题含关键词的 for (i = 0; i < elements.length; i++) { element = elements[i]; textContent = element.innerText.trim(); containsWhitelistWord = false; for (j = 0; j < whitelistWords.length; j++) { if (textContent.includes(whitelistWords[j])) { containsWhitelistWord = true; console.log('白名单检测:', textContent, ' ', whitelistWords[j]); break; } } // 检查文本是否包含关键词 var containsKeyword = false; for (j = 0; j < keywords.length; j++) { if (textContent.includes(keywords[j])) { containsKeyword = true; console.log('关键词检测:', textContent, ' ', keywords[j]); break; } } if (containsKeyword && !containsWhitelistWord) { console.log('移除:', textContent); parentElement = element.parentElement; if (parentElement && parentElement.parentElement && parentElement.parentElement.parentElement) { //parentElement.parentElement.parentElement.style.display = 'none'; //parentElement.parentElement.parentElement.style.height = '0'; //parentElement.parentElement.parentElement.style.visibility = 'hidden'; //parentElement.parentElement.parentElement.style.opacity = '0'; //parentElement.parentElement.parentElement.remove(); block(parentElement.parentElement.parentElement); counter++; } } } // 标题党专项屏蔽:逻辑为,12个字符以内,含有2个敏感字符(!:,禁官竟) for (i = 0; i < elements.length; i++) { element = elements[i]; textContent = element.innerText.trim(); containsWhitelistWord = false; for (j = 0; j < whitelistWords.length; j++) { if (textContent.includes(whitelistWords[j])) { containsWhitelistWord = true; console.log('白名单检测:', textContent, ' ', whitelistWords[j]); break; } } // 检查文本是否包含关键词 var BiaotidangIndex = 0; for (j = 0; j < biaotidangList.length; j++) { if (textContent.includes(biaotidangList[j])) { BiaotidangIndex++; } } if (BiaotidangIndex>=2 && textContent.length <= 12 && !containsWhitelistWord) { console.log('移除:', textContent); parentElement = element.parentElement; if (parentElement && parentElement.parentElement && parentElement.parentElement.parentElement) { //parentElement.parentElement.parentElement.style.display = 'none'; //parentElement.parentElement.parentElement.style.height = '0'; //parentElement.parentElement.parentElement.style.visibility = 'hidden'; //parentElement.parentElement.parentElement.style.opacity = '0'; //parentElement.parentElement.parentElement.remove(); block(parentElement.parentElement.parentElement); counter++; } } } //显示屏蔽数量 addTextToContainer(counter); if(!removeMode){ counter = 0; } }, 500); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址