您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Sync Floatplane theme with system theme based on system changes and page load
当前为
// ==UserScript== // @name Floatplane System Theme Sync // @namespace http://tampermonkey.net/ // @version 1.0 // @description Sync Floatplane theme with system theme based on system changes and page load // @author EthanBezz // @match https://*.floatplane.com/* // @grant none // @license MIT // ==/UserScript== (() => { 'use strict'; const systemThemeQuery = window.matchMedia('(prefers-color-scheme: dark'); const isSystemDark = () => systemThemeQuery.matches; const getFloatplaneTheme = () => JSON.parse(localStorage.getItem('fp:theme-preferred')); const isThemeMismatched = () => isSystemDark() !== (getFloatplaneTheme() === 'dark'); const getThemeToggle = () => [...document.querySelectorAll('a._dropdownItem_ouby8_1')] .find(menuItem => menuItem.textContent.includes('Mode')); new MutationObserver((_, observer) => { const themeToggle = getThemeToggle(); if (themeToggle) { isThemeMismatched() && themeToggle.click(); systemThemeQuery.addEventListener('change', () => isThemeMismatched() && getThemeToggle()?.click()); observer.disconnect(); } }).observe(document, { subtree: true, childList: true }); })();