去他喵的推广消息

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

// ==UserScript==
// @name         去他喵的推广消息
// @namespace    http://tampermonkey.net/
// @version      0.3
// @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, // 不监听子树的变化
    };
    let msgDom;
    let alertDom;

    document.addEventListener('DOMContentLoaded', function () {
        //检查私信是否有提醒
        msgDom = document.querySelector("#msg-popup li:last-child .nav-msg-dot");
        alertDom = document.querySelector("#nav_msg .nav-item-dot");
        // 创建一个回调函数,当观察到变化时执行
        const callback = function (mutationsList, observer) {
            for (const mutation of mutationsList) {
                if (mutation.type === 'attributes' && mutation.attributeName === "style") {//style改变意味着私信有新消息
                    checkMsg();
                }
            }
        };
        // 创建一个 MutationObserver 实例并传入回调函数
        const observer = new MutationObserver(callback);
        // 开始观察目标节点
        observer.observe(msgDom, config);
        // 如果你想要停止观察,可以调用 disconnect 方法
        // observer.disconnect();

        checkMsg();
    });

    function checkMsg() {
        let msgCount = msgDom.innerHTML;
        if (msgCount !== "") {
            //干掉私信提示
            msgDom.innerHTML = "0";
            msgDom.style.display = "none";
            //检查是否只有私信提醒
            let alertCount = alertDom.innerHTML;
            if (alertCount === msgCount) {
                //只有私信提醒就把外面的提醒一并消除
                alertDom.style.display = "none";
                //修改标题
                document.title = document.title.replace("【新提醒】", "");
                //修改顶部浮动条
                document.querySelector(".tools-msg").innerHTML = "消息";
            } else {
                let count = alertCount * 1 - msgCount * 1
                //修一下全局提醒数量
                alertDom.innerHTML = count;
                //修改顶部浮动条
                document.querySelector(".tools-msg").innerHTML = "消息(" + count + ")";
            }
        }
    }
})();

QingJ © 2025

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