NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Jandan Treehole User Blocker // @namespace http://tampermonkey.net/ // @version 0.1 // @description 屏蔽煎蛋树洞页面中指定用户(登录和匿名)的完整帖子,包括用户名、内容和功能区域 // @author 路人丙 @煎蛋 // @icon data:image/png;base64,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 // @match https://jandan.net/treehole // @match https://jandan.net/treehole/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 要屏蔽的用户名列表(可添加登录或匿名用户名) const blockedUsers = ['俱舍莲帝', '用户1', '用户2']; // 在此添加更多用户名 // 主函数:屏蔽用户帖子的整个容器 function blockUserPosts() { const usernameElements = document.querySelectorAll('.author-logged, .author-anonymous'); usernameElements.forEach(usernameElement => { const username = usernameElement.textContent.trim(); if (blockedUsers.some(blocked => username.toLowerCase() === blocked.toLowerCase())) { // 尝试找到包含所有目标元素的父级容器 let postContainer = usernameElement.closest('.row, .comment-item, .list-item, .post, div[class*="comment"], li, article, section, div'); if (postContainer && postContainer.querySelector('.comment-meta') && postContainer.querySelector('.comment-content') && postContainer.querySelector('.comment-func')) { postContainer.style.display = 'none'; return; } // 备用逻辑:分别隐藏 comment-meta、comment-content 和 comment-func const metaElement = usernameElement.closest('.comment-meta'); if (metaElement && metaElement.parentElement) { const contentElement = metaElement.parentElement.querySelector('.comment-content'); const funcElement = metaElement.parentElement.querySelector('.comment-func'); if (metaElement) metaElement.style.display = 'none'; if (contentElement) contentElement.style.display = 'none'; if (funcElement) funcElement.style.display = 'none'; } } }); } // 初次加载时执行 blockUserPosts(); // 监控页面动态加载 const observer = new MutationObserver(() => blockUserPosts()); observer.observe(document.body, { childList: true, subtree: true }); })();