Greasy Fork

Greasy Fork is available in English.

北大未名 屏蔽用户

屏蔽指定用户的发言楼层

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name     北大未名 屏蔽用户
// @namespace PkuBbsUserBlock
// @version  1.0.0
// @author ration
// @description 屏蔽指定用户的发言楼层
// @match  http://bbs.pku.edu.cn/*
// @match  https://bbs.pku.edu.cn/*
// @grant GM_setValue
// @grant GM_getValue
// @license MIT
// ==/UserScript==
const BLOCK_USERS = ["Virtualize","Kindness","KakaHiguain"] //请在此手动添加你想屏蔽的(贴子中上面一行的)用户名(,而非下面一行较小的昵称)并保存。例:["ration","user1"]

const block = () => {
    const obj_posts = document.getElementsByClassName("post-card")
    for (var obj_post of obj_posts) {
        var str_username = obj_post.getElementsByClassName("username")[0].firstChild.innerText //该楼用户名
        var flag2=false
        if(obj_post.getElementsByClassName("quotehead").length){
            var str_quote = obj_post.getElementsByClassName("quotehead")[0].innerText //该楼所引用楼层的第一行,包含用户名
            var str_username2 = str_quote.split(" (")[0]
            flag2 = BLOCK_USERS.indexOf(str_username2) != -1
        }
        if (BLOCK_USERS.indexOf(str_username) != -1 || flag2) {
            var parent = obj_post.parentElement;
            parent.removeChild(obj_post);
        }

//         var but = document.createElement('button')
//         obj_post.getElementsByClassName("line wide-btn")[0].appendChild(but)
//         but.innerText = "屏蔽"
//         but.addEventListener("click", butFun)
//         function butFun(){

//         }

    }
}

//-------------main--------------------
block();
new MutationObserver(block).observe(document.documentElement, { childList: true, subtree: true });