修改小红书 PWA 标题栏颜色

修改小红书 PWA 标题栏颜色为 #0A0A0A

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         修改小红书 PWA 标题栏颜色
// @version      0.1
// @description  修改小红书 PWA 标题栏颜色为 #0A0A0A
// @author       hiisme
// @match        https://www.xiaohongshu.com/*
// @grant        GM_addStyle
// @namespace https://greasyfork.org/users/217852
// ==/UserScript==

(function() {
    'use strict';

    // 修改标题栏颜色的 CSS 样式
    const style = `
        /* 修改标题栏颜色为 #0A0A0A */
        @media (display-mode: standalone) {
            /* 修改 PWA 独立显示模式下的标题栏颜色 */
            header {
                background-color: #0A0A0A !important;
            }
        }
    `;

    // 将样式添加到页面
    GM_addStyle(style);

    // 监听页面变化
    const observer = new MutationObserver(() => {
        // 重新设置标题栏颜色
        const changePwaTitleBarColor = () => {
            const metaThemeColor = document.querySelector('meta[name="theme-color"]');
            if (metaThemeColor) {
                metaThemeColor.setAttribute('content', '#0A0A0A');
            } else {
                const newMetaTag = document.createElement('meta');
                newMetaTag.setAttribute('name', 'theme-color');
                newMetaTag.setAttribute('content', '#0A0A0A');
                document.head.appendChild(newMetaTag);
            }
        };

        // 重新调用修改标题栏颜色的函数
        changePwaTitleBarColor();
    });

    // 配置并启动 MutationObserver
    const config = { attributes: true, childList: true, subtree: true };
    observer.observe(document.body, config);
})();