您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在北邮人论坛中屏蔽黑名单用户的发言
// ==UserScript== // @name BYR BBS User Blocker // @namespace http://tampermonkey.net/ // @version 1.0 // @description 在北邮人论坛中屏蔽黑名单用户的发言 // @author MadDevil // @match *://bbs.byr.cn/* // @grant GM_xmlhttpRequest // @require https://code.jquery.com/jquery-3.6.0.min.js // ==/UserScript== class Blocker { constructor() { this.username = document.getElementsByClassName('u-login-id')[0].getElementsByTagName('a')[0].innerText; this.blocked = new Set(); this.orginal_page = null; this.get_blacklist(); } update_page() { if (this.orginal_page === null) this.orginal_page = $('.b-content').html(); else $('.b-content').html(this.orginal_page); let articles = $('.article'); for (let i = 0; i < articles.length; ++i) { let article = $(articles[i]); let u_name = article.find('.a-u-name').text(); let is_blocked = this.blocked.has(u_name); let bt_text = ["屏蔽此人", "取消屏蔽"][Number(is_blocked)]; let button = $('<li><samp class="ico-pos-deny"></samp><a href="javascript:void(0)">' + bt_text + '</a></li>'); $(article.find('.a-func').find('li')[4]).after(button); button.click(that => { if (is_blocked) this.del_user(u_name); else this.add_user(u_name); }); article.find('.a-content')[0].style.display = ["none", "block"][Number(!is_blocked)]; article.find('.a-content2')[0].style.display = ["none", "block"][Number(is_blocked)]; if (is_blocked) article.find('.a-content2').find('p')[0].innerText = "此用户发言已被您屏蔽。" } } get_blacklist(page = 1) { $.ajax("/blacklist?p=" + page + "&_uid=" + this.username).done(res => { let doc = $(res), users = doc.find('.title_2'); for (let i = 0; i < users.length; ++i) this.blocked.add(users[i].innerText); if(doc.find("[title=下一页]").length!==0) this.get_blacklist(page+1); else if (location.hash.search(/^#!article/) === 0) this.update_page(); }) } add_user(u_name) { $.ajax({ "url": "/blacklist/ajax_add.json", "type": "POST", "data": {"id": u_name} }).done(res => { this.blocked.add(u_name); this.update_page(); }); } del_user(u_name) { $.ajax({ "url": "/blacklist/ajax_delete.json", "type": "POST", "data": "f_" + u_name + "=on" }).done(res => { this.blocked.delete(u_name); this.update_page(); }); } } function wait_until(condition, handler) { function wrapper() { if (condition()) handler(); else setTimeout(wrapper, 100); } wrapper(); } var blocker = null; $(document).ready(() => wait_until(() => document.getElementById('nforum_tips').style.display === 'none', () => blocker = new Blocker())); window.addEventListener('hashchange', function (e) { if (blocker !== null) { blocker.orginal_page = null; if (location.hash.search(/^#!article/) === 0) wait_until(() => document.getElementById('nforum_tips').style.display === 'none', () => blocker.update_page()); } }, false);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址