// ==UserScript== // @name 真白萌导航纯黑背景 // @namespace sqliuchang // @version 0.7 // @author sqliuchang // @description 将真白萌导航背景改为纯黑 (#000000),保留条纹,兼容 PJAX 并移除动态注入的冲突样式,由Gemini 2.5 Pro Preview 03-25生成。暂时测试桌面和移动端正常,如有问题请回退上个版本。 // @license MIT // @match *://masiro.me/* // @match *://*.masiro.me/* // @grant GM_addStyle // @grant GM.addStyle // @run-at document-start // @downloadURL https://update.greasyfork.icu/scripts/469665/%E7%9C%9F%E7%99%BD%E8%90%8C%E5%AF%BC%E8%88%AA%E7%BA%AF%E9%BB%91%E8%83%8C%E6%99%AF.user.js // @updateURL https://update.greasyfork.icu/scripts/469665/%E7%9C%9F%E7%99%BD%E8%90%8C%E5%AF%BC%E8%88%AA%E7%BA%AF%E9%BB%91%E8%83%8C%E6%99%AF.meta.js // ==/UserScript== (function() { 'use strict'; // --- 1. 定义并注入基础样式 (带条纹) --- const desiredCss = ` :root { --discord-background-primary: #000000 !important; --discord-background-mobile-primary: #000000 !important; } .main-header, .main-sidebar, .fix-nav { background-color: #000000 !important; box-shadow: none !important; background-image: none !important; /* 移除容器自身的背景图 */ } .main-header .logo, .main-header .navbar, .main-sidebar { background-color: #000000 !important; background-image: -webkit-linear-gradient( 45deg , rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent ) !important; background-image: linear-gradient( 45deg , rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent ) !important; box-shadow: none !important; color: #ffffff !important; } .sidebar-toggle { background-color: transparent !important; color: #ffffff !important; } .sidebar-toggle:hover { background-color: rgba(255, 255, 255, 0.1) !important; } .skin-blue-light .sidebar-menu > li > a { color: #cccccc !important; } .skin-blue-light .sidebar-menu > li:hover > a, .skin-blue-light .sidebar-menu > li.active > a { color: #ffffff !important; background: rgba(255, 255, 255, 0.1) !important; } .skin-blue-light .sidebar-menu > li > .treeview-menu { background-color: rgba(20, 20, 20, 0.8) !important; background-image: inherit !important; padding-left: 5px; } .skin-blue-light .sidebar-menu > li > .treeview-menu > li > a { color: #cccccc !important; } .skin-blue-light .sidebar-menu > li > .treeview-menu > li:hover > a, .skin-blue-light .sidebar-menu > li > .treeview-menu > li.active > a { color: #ffffff !important; background: rgba(255, 255, 255, 0.15) !important; } .skin-blue-light .sidebar-menu > li.header { color: #aaaaaa !important; background: #111111 !important; background-image: none !important; } .skin-blue-light .main-header .navbar .nav > li > a { color: #ffffff !important; } .skin-blue-light .main-header .navbar .nav > li > a:hover, .skin-blue-light .main-header .navbar .nav .open > a, .skin-blue-light .main-header .navbar .nav .open > a:hover, .skin-blue-light .main-header .navbar .nav .open > a:focus, .skin-blue-light .main-header .navbar .nav > .active > a { background: rgba(255, 255, 255, 0.1) !important; color: #ffffff !important; } /* 强制重置 wrapper 背景,防止干扰 */ .wrapper { background: initial !important; background-color: initial !important; /* 明确重置 background-color */ } `; let injectedStyleElement = null; // 存储我们注入的 style 元素引用 // 注入样式 if (typeof GM_addStyle !== "undefined") { injectedStyleElement = GM_addStyle(desiredCss); console.log("真白萌导航纯黑背景(v0.7): 使用 GM_addStyle 注入样式。"); } else if (typeof GM !== "undefined" && typeof GM.addStyle !== "undefined") { GM.addStyle(desiredCss).then(element => { injectedStyleElement = element; console.log("真白萌导航纯黑背景(v0.7): 使用 GM.addStyle 注入样式。"); }); } else { injectedStyleElement = document.createElement('style'); injectedStyleElement.id = 'userscript-masiro-black-nav-style'; // 给注入的 style 加个 ID,方便识别 injectedStyleElement.textContent = desiredCss; const head = document.head || document.documentElement; head.appendChild(injectedStyleElement); console.warn("真白萌导航纯黑背景(v0.7): GM_addStyle/GM.addStyle 未找到, 使用手动注入。"); } // --- 2. 设置 MutationObserver 监控动态样式注入 --- // 检查并移除冲突