1
已解决
WendaPlus:帖子标题 & 发布时间一键屏蔽脚本
- 适用站点:酷町问答(wenda.codingtang.com)
- 作者:YUZE-IT
- 开源协议:MIT
功能亮点
- 关键词过滤:帖子标题含指定关键词即隐藏
- 时间过滤:只显示指定日期之后发布的帖子
- 实时生效:动态加载的新帖子同样会被过滤
- 数据持久化:配置保存在浏览器,换页/刷新不丢失
一键安装
- 浏览器已安装 Tampermonkey 等用户脚本管理器
- 点击 安装脚本
- 打开 酷町问答,右上角出现 🛠️ 图标即可使用
使用步骤
步骤 | 操作 | 效果 |
---|---|---|
1 | 点击顶部导航栏 🛠️ 筛选器 按钮 | 弹出设置面板 |
2 | 关键词屏蔽 输入关键词 → 添加 | 含该关键词的帖子立即消失 |
3 | 发布时间屏蔽 选择日期 → 应用 | 只保留该日期之后的帖子 |
4 | 可随时 删除关键词 或 清空日期 恢复显示 |
小提示:脚本也支持通过 Tampermonkey 菜单「打开帖子筛选器」快速唤出面板。
测试截图
以大家常见的“florr”标题的帖子为例,
即可一键全部屏蔽
(ps:本人单纯因为第一页的“florr”帖很多,故以此为例,无其他含义,请勿过分解读)
常见问题
- Q:配置丢失?
A:脚本使用浏览器本地存储,除非清除站点数据,否则永久保留。 - Q:过滤规则对旧帖生效吗?
A:所有可见帖子(包括翻页、无限滚动加载的新帖)实时生效。⚠️ 但翻页后某些古早的帖子可能无法被正常屏蔽,这是个目前没有优化掉的 Bug。
- Q:如何临时关闭过滤?
A:打开面板,清空所有关键词并将日期置空,点击「应用」即可。
更新日志
- v2.0.0 新增发布时间过滤、UI 重构
- v1.0.0 初始版本,仅支持关键词屏蔽
欢迎在评论区反馈 BUG 或提出新功能需求!
倪雨泽在2025-08-12 18:00:28追加了内容
倪雨泽在2025-08-13 10:51:24追加了内容
UPD
真正意义上的实现老师端功能
- 受到该帖启发,本人用油猴脚本实现了自动化“开启老师权限”的功能。
- 代码:
点击展开代码
// ==UserScript==
// @name 酷丁编程 - 全屏/缩小按钮切换
// @namespace http://tampermonkey.net/
// @version 1.2
// @description 管理全屏和缩小按钮的显示状态,实现点击放大后隐藏放大按钮并显示缩小按钮
// @author You
// @match https://ke.kuding.cn/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 当前全屏状态
let isFullscreen = false;
// 主函数,查找并管理全屏/缩小按钮
function manageFullscreenButtons() {
// 查找全屏按钮(放大镜图标)
const fullscreenButton = document.querySelector('button.el-button--primary.el-button--mini.is-plain.is-circle .el-icon-zoom-in')?.closest('button');
// 查找缩小按钮(缩小镜图标)
const zoomOutButton = document.querySelector('button.el-button--primary.el-button--mini.is-plain.is-circle .el-icon-zoom-out')?.closest('button');
// 初始化按钮状态
if (fullscreenButton && zoomOutButton) {
// 确保按钮可见
fullscreenButton.style.display = isFullscreen ? 'none' : 'inline-block';
zoomOutButton.style.display = isFullscreen ? 'inline-block' : 'none';
// 添加全屏按钮点击事件(防止重复添加)
if (!fullscreenButton.dataset.listenerAdded) {
fullscreenButton.addEventListener('click', function() {
enterFullscreen();
fullscreenButton.style.display = 'none';
zoomOutButton.style.display = 'inline-block';
});
fullscreenButton.dataset.listenerAdded = 'true';
}
// 添加缩小按钮点击事件(防止重复添加)
if (!zoomOutButton.dataset.listenerAdded) {
zoomOutButton.addEventListener('click', function() {
exitFullscreen();
zoomOutButton.style.display = 'none';
fullscreenButton.style.display = 'inline-block';
});
zoomOutButton.dataset.listenerAdded = 'true';
}
}
}
// 进入全屏模式
function enterFullscreen() {
console.log('进入全屏模式');
isFullscreen = true;
// 实际全屏逻辑 - 根据页面结构调整
const rightContent = document.querySelector('.rightPproblemCotent');
if (rightContent) {
rightContent.style.width = '100%';
rightContent.style.height = '100vh';
rightContent.style.position = 'fixed';
rightContent.style.top = '0';
rightContent.style.left = '0';
rightContent.style.zIndex = '9999';
rightContent.style.backgroundColor = '#fff';
}
}
// 退出全屏模式
function exitFullscreen() {
console.log('退出全屏模式');
isFullscreen = false;
// 实际退出全屏逻辑 - 根据页面结构调整
const rightContent = document.querySelector('.rightPproblemCotent');
if (rightContent) {
rightContent.style.width = '';
rightContent.style.height = '';
rightContent.style.position = '';
rightContent.style.top = '';
rightContent.style.left = '';
rightContent.style.zIndex = '';
rightContent.style.backgroundColor = '';
}
}
// 初始执行
manageFullscreenButtons();
// 使用MutationObserver监听DOM变化
const observer = new MutationObserver(function(mutations) {
manageFullscreenButtons();
});
// 开始观察整个文档
observer.observe(document, {
childList: true,
subtree: true
});
// 添加样式确保按钮图标可见
const style = document.createElement('style');
style.textContent = `
button.el-button--primary.el-button--mini.is-plain.is-circle .el-icon-zoom-in,
button.el-button--primary.el-button--mini.is-plain.is-circle .el-icon-zoom-out {
display: inline-block !important;
}
`;
document.head.appendChild(style);
})();
- 加载脚本后:
- 点击放大后:
具体就等待同学们自己测试咯,是支持一切情况的,包括CF哦
倪雨泽在2025-08-30 11:49:54追加了内容
UPD:
由于原脚本UI有些许“古老”,于是本人用GPT重写了UI,并加入了白名单逻辑
现在的脚本用户界面如图:
此处由于我设置了屏蔽时间,又为了不隐藏臧老师的置顶帖子,于是乎设置臧老师为白名单用户。
白名单用户不受限制逻辑限制