Greasy Fork is available in English.

北大未名 屏蔽用户

屏蔽指定用户的发言楼层

// ==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 });