您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
屏蔽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 + ")"; } } } })();