去他喵的推广消息

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

  1. // ==UserScript==
  2. // @name 去他喵的推广消息
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.3
  5. // @description 屏蔽C站沟槽的私信推广提醒
  6. // @author You
  7. // @match https://bbs.colg.cn/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=colg.cn
  9. // @grant none
  10. // @run-at document-start
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. (function () {
  15. 'use strict';
  16. // 配置观察选项(可以监听属性变化、子节点变化等)
  17. const config = {
  18. attributes: true, // 监听属性变化
  19. childList: false, // 不监听子节点的变化
  20. subtree: false, // 不监听子树的变化
  21. };
  22. let msgDom;
  23. let alertDom;
  24.  
  25. document.addEventListener('DOMContentLoaded', function () {
  26. //检查私信是否有提醒
  27. msgDom = document.querySelector("#msg-popup li:last-child .nav-msg-dot");
  28. alertDom = document.querySelector("#nav_msg .nav-item-dot");
  29. // 创建一个回调函数,当观察到变化时执行
  30. const callback = function (mutationsList, observer) {
  31. for (const mutation of mutationsList) {
  32. if (mutation.type === 'attributes' && mutation.attributeName === "style") {//style改变意味着私信有新消息
  33. checkMsg();
  34. }
  35. }
  36. };
  37. // 创建一个 MutationObserver 实例并传入回调函数
  38. const observer = new MutationObserver(callback);
  39. // 开始观察目标节点
  40. observer.observe(msgDom, config);
  41. // 如果你想要停止观察,可以调用 disconnect 方法
  42. // observer.disconnect();
  43.  
  44. checkMsg();
  45. });
  46.  
  47. function checkMsg() {
  48. let msgCount = msgDom.innerHTML;
  49. if (msgCount !== "") {
  50. //干掉私信提示
  51. msgDom.innerHTML = "0";
  52. msgDom.style.display = "none";
  53. //检查是否只有私信提醒
  54. let alertCount = alertDom.innerHTML;
  55. if (alertCount === msgCount) {
  56. //只有私信提醒就把外面的提醒一并消除
  57. alertDom.style.display = "none";
  58. //修改标题
  59. document.title = document.title.replace("【新提醒】", "");
  60. //修改顶部浮动条
  61. document.querySelector(".tools-msg").innerHTML = "消息";
  62. } else {
  63. let count = alertCount * 1 - msgCount * 1
  64. //修一下全局提醒数量
  65. alertDom.innerHTML = count;
  66. //修改顶部浮动条
  67. document.querySelector(".tools-msg").innerHTML = "消息(" + count + ")";
  68. }
  69. }
  70. }
  71. })();

QingJ © 2025

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