网站的自定义功能支持屏蔽用户帖子,但评论没有进行屏蔽,懒得去改了,简单弄了个油猴脚本
![图片[1]|油猴脚本:屏蔽特定用户评论|不死鸟资源网](https://www.busi.net/wp-content/uploads/2025/06/20250613072022774-image-1024x443.png)
脚本内容:
// ==UserScript==
// @name 屏蔽特定用户评论
// @namespace http://tampermonkey.net/
// @version 1.4
// @description 根据设定的UID列表屏蔽特定用户的评论,并提供显示按钮
// @author 大佬论坛
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 设置需要屏蔽的用户UID列表
const blockedUIDs = ['44', '4884', '1807']; // 支持多个UID
function blockComments() {
try {
console.log('blockComments called'); // 调试信息
const comments = document.querySelectorAll('.media.post');
comments.forEach(comment => {
const uid = comment.getAttribute('data-uid');
console.log(`Comment UID: ${uid}`); // 调试信息
if (blockedUIDs.includes(uid)) {
console.log(`Blocking comment with UID: ${uid}`); // 调试信息
// 获取原始内容
const originalContent = comment.cloneNode(true);
// 替换内容
comment.innerHTML = `
<div class="media-body">
<div class="d-flex justify-content-between small text-muted">
<div>
<span class="username">
<span class="text-muted font-weight-bold" title="(UID: ${uid})">您已屏蔽此用户言论。(<span class="show-comment-btn" style="margin-top: 10px;cursor: pointer;">显示此条评论</span>)</span>
</span>
<br>
<span class="signature-post" style="color: #868e96; font-size: 10.5px;"></span>
</div>
<div class="text-right text-grey">
<span class="floor-parent">
<span class="floor mr-0">${comment.querySelector('.floor').innerText}</span>楼
</span>
</div>
</div>
</div>
`;
// 添加显示按钮的点击事件
const showButton = comment.querySelector('.show-comment-btn');
showButton.addEventListener('click', () => {
comment.innerHTML = originalContent.innerHTML;
});
}
});
} catch (error) {
console.error('Error in blockComments:', error);
}
}
// 页面加载完成后执行
function onDOMContentLoaded() {
blockComments();
initMutationObserver();
}
// 初始化 MutationObserver
function initMutationObserver() {
const observer = new MutationObserver((mutations) => {
console.log('Mutation observed:', mutations); // 调试信息
blockComments();
});
const targetNode = document.querySelector('.postlist'); // 请根据实际情况修改选择器
if (targetNode) {
observer.observe(targetNode, { childList: true, subtree: true });
} else {
console.error('Target node .postlist not found'); // 调试信息
}
}
// 注册页面加载事件
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', onDOMContentLoaded);
} else {
setTimeout(onDOMContentLoaded, 0);
}
// 将 blockComments 函数暴露到全局作用域
window.blockComments = blockComments;
})();
本站资源均为作者提供和网友推荐收集整理而来,仅供学习和研究使用,请在下载后24小时内删除,谢谢合作!
THE END