问题标题: 全屏/缩小按钮更新---问答自定义帖子过滤工具

1
1
已解决
倪雨泽
倪雨泽
资深光能
资深光能

WendaPlus:帖子标题 & 发布时间一键屏蔽脚本

功能亮点

  • 关键词过滤:帖子标题含指定关键词即隐藏
  • 时间过滤:只显示指定日期之后发布的帖子
  • 实时生效:动态加载的新帖子同样会被过滤
  • 数据持久化:配置保存在浏览器,换页/刷新不丢失

一键安装

  1. 浏览器已安装 Tampermonkey 等用户脚本管理器
  2. 点击 安装脚本
  3. 打开 酷町问答,右上角出现 🛠️ 图标即可使用

使用步骤

步骤 操作 效果
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追加了内容

🚀 一键安装 WendaPlus 脚本

倪雨泽在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,并加入了白名单逻辑

现在的脚本用户界面如图:

此处由于我设置了屏蔽时间,又为了不隐藏臧老师的置顶帖子,于是乎设置臧老师为白名单用户。

白名单用户不受限制逻辑限制

下载地址:https://yuze-file.netlify.app/files/关于酷丁编程的各项文件%2FWendaPlus- 积木风筛选器(标题关键词%2B发布时间%2B白名单)-2.5.1.user.js


0
已采纳
骆芃瑀
骆芃瑀
新手光能
新手光能

倪佬,倪佬,继续更新![玫瑰]

0
郑皓予
郑皓予
初级光能
初级光能

大佬问一下,是下载那个365图标的吗

0
蒋源
蒋源
资深守护
资深守护

虽然但是

我下不了油猴5555 能不能发一个下载油猴的具体、保姆级教程

0
我要回答