去他喵的推广消息

屏蔽C站沟槽的私信推广提醒

目前為 2025-03-25 提交的版本,檢視 最新版本

// ==UserScript==
// @name         去他喵的推广消息
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  屏蔽C站沟槽的私信推广提醒
// @author       You
// @match        https://bbs.colg.cn/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=colg.cn
// @grant        none
// @run-at       document-start
// @license MIT
// ==/UserScript==

(function () {
    'use strict';
    // 配置观察选项(可以监听属性变化、子节点变化等)
    const config = {
        attributes: true, // 监听属性变化
        childList: false, // 不监听子节点的变化
        subtree: false, // 不监听子树的变化
    };



    document.addEventListener('DOMContentLoaded', function () {
        //检查私信是否有提醒
        const msgDom = document.querySelector("#msg-popup li:last-child .nav-msg-dot");
        // 创建一个回调函数,当观察到变化时执行
        const callback = function (mutationsList, observer) {
            for (const mutation of mutationsList) {
                if (mutation.type === 'attributes' && mutation.attributeName === "style") {//style改变意味着私信有新消息
                    let msgCount = msgDom.innerHTML;
                    if (msgCount !== "") {
                        //干掉私信提示
                        msgDom.innerHTML = "0";
                        msgDom.style.display = "none";
                        //检查是否只有私信提醒
                        const alertDom = document.querySelector("#nav_msg .nav-item-dot");
                        let alertCount = alertDom.innerHTML;
                        if (alertCount === msgCount) {
                            //只有私信提醒就把外面的提醒一并消除
                            alertDom.style.display = "none";
                            //修改标题
                            document.title = document.title.replace("【新提醒】", "");
                        } else {
                            //修一下全局提醒数量
                            alertDom.innerHTML = alertCount * 1 - msgCount * 1;
                        }
                    }
                }
            }
        };
        // 创建一个 MutationObserver 实例并传入回调函数
        const observer = new MutationObserver(callback);
        // 开始观察目标节点
        observer.observe(msgDom, config);
        // 如果你想要停止观察,可以调用 disconnect 方法
        // observer.disconnect();


    });
})();





QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址