【微博移动端】内容过滤与界面简化

过滤低互动(自定义点赞、评论数阈值)微博,并移除顶部导航栏、悬浮刷新按钮等界面元素。

目前為 2025-09-13 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         【微博移动端】内容过滤与界面简化
// @namespace   https://github.com/realSilasYang/UserScripts
// @version         2025-09-13
// @description    过滤低互动(自定义点赞、评论数阈值)微博,并移除顶部导航栏、悬浮刷新按钮等界面元素。
// @author          阳熙来
// @icon             data:image/png;base64,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
// @license         GNU GPLv3
// @match        *://m.weibo.cn/*
// @match        *://huati.weibo.cn/*
// @match        *://h5.video.weibo.com/*
// @match        *://card.weibo.com/*
// @match        *://weibo.com/l/wblive/m/show/*
// ==/UserScript==

(function () {
    'use strict';

    // --- 配置区域 ---
    const MIN_COMMENTS = 5;
    const MIN_LIKES = 10;
    const POST_SELECTOR = '.wb-item-wrap, .card.weibo-member';

    // 将所有需要移除的元素的选择器放在这里
    const SELECTORS_TO_REMOVE = [
        '.lite-topbar.main-top',  // 顶部导航栏
        '.refresh-btn.lite-iconf' // 悬浮刷新按钮
    ];

    // --- 核心功能函数 ---

    /**
     * 解析互动数 (评论/点赞)。
     * @param {Element} iconElement - 图标元素
     * @returns {number} - 解析后的数值
     */
    function parseCount(iconElement) {
        if (!iconElement) return 0;
        const h4 = iconElement.parentElement.querySelector('h4');
        if (!h4 || !h4.textContent) return 0;
        const text = h4.textContent.trim();
        if (text.includes('万')) return parseFloat(text) * 10000;
        const num = parseInt(text, 10);
        return isNaN(num) ? 0 : num;
    }

    /**
     * 判断微博帖子是否应保留。
     * @param {Element} box - 微博帖子的根元素
     * @returns {boolean} - true 表示保留
     */
    function shouldKeep(box) {
        let commentIcon, likeIcon;
        if (box.matches('.wb-item-wrap')) {
            commentIcon = box.querySelector('.lite-iconf-comments');
            likeIcon = box.querySelector('.lite-iconf-like');
        } else if (box.matches('.card.weibo-member')) {
            commentIcon = box.querySelector('.m-font-comment');
            likeIcon = box.querySelector('.m-icon-like');
        } else {
            return true;
        }
        const commentNum = parseCount(commentIcon);
        const likeNum = parseCount(likeIcon);
        return commentNum >= MIN_COMMENTS && likeNum >= MIN_LIKES;
    }

    /**
     * 过滤单个微博帖子。
     * @param {Element} box - 微博帖子的根元素
     */
    function filterSingle(box) {
        if (!shouldKeep(box)) {
            box.remove();
        }
    }

    /**
     * 批量过滤一个根元素下的所有微博帖子。
     * @param {Element|Document} root - 搜索的根节点
     */
    function filterAll(root = document) {
        root.querySelectorAll(POST_SELECTOR).forEach(filterSingle);
    }

    /**
     * [重构] 移除所有在配置列表中指定的UI元素。
     */
    function cleanupUI() {
        SELECTORS_TO_REMOVE.forEach(selector => {
            document.querySelectorAll(selector).forEach(element => element.remove());
        });
    }


    // --- 主逻辑 ---

    // 观察DOM变化,处理动态加载的内容
    const observer = new MutationObserver(() => {
        // 每次DOM变动时,都清理UI元素并过滤帖子
        cleanupUI();
        filterAll();
    });

    observer.observe(document.documentElement, {
        childList: true,
        subtree: true
    });

    // 脚本运行时,也对已存在的内容进行一次初始处理
    function initialRun() {
        cleanupUI();
        filterAll();
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', initialRun);
    } else {
        initialRun();
    }
})();