您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
override theme selection on native browser darkmode change. Basic Idea from Reddit Auto Dark Mode
// ==UserScript== // https://gf.qytechs.cn/scripts/445361-novelupdates-auto-darkmode // @name novelupdates auto darkmode // @namespace somethingthatshouldnotclashwithotherscripts // @version 1.0 // @description override theme selection on native browser darkmode change. Basic Idea from Reddit Auto Dark Mode // @author SZ // @match www.novelupdates.com/* // @license Apache-2.0 // @supportURL https://gf.qytechs.cn/scripts/445361-novelupdates-auto-darkmode/feedback // @grant GM_setValue // @grant GM_getValue // ==/UserScript== /*jshint esversion: 6 */ let defaultDarkmodeIndex = 1; let isDarkModeActive = false; let darkModeTheme = defaultDarkmodeIndex; let standardTheme = 0; (function () { "use strict"; const savedDarkModeValue = GM_getValue("darkModeTheme"); const savedStandardModeValue = GM_getValue("standardTheme"); darkModeTheme = savedDarkModeValue ?? defaultDarkmodeIndex; standardTheme = savedStandardModeValue ?? standardTheme; let selectField = document.getElementById("wi_themes"); const setDarkMode = (isDarkMode) => { isDarkModeActive = isDarkMode; if (selectField) { //in case of wrong site (not working for forum theme toggle) //Admins of novelupdate forum could implement https://xenvn.com/threads/th-style-switch-xenforo-2.329/ let currentStyleIndex = selectField.selectedIndex; let currentStyleName = document.getElementById("wi_themes").options[ currentStyleIndex ].value; if (isDarkMode) { if (currentStyleIndex != darkModeTheme) selectField.selectedIndex = darkModeTheme; } else { if (currentStyleIndex != standardTheme) selectField.selectedIndex = standardTheme; } selectField.dispatchEvent(new Event("change", { bubbles: true })); } }; const updateDarkMode = (e) => { setDarkMode(e.matches); }; if (window.matchMedia) { // if the browser/os supports system-level color scheme const darkModeSetting = window.matchMedia("(prefers-color-scheme: dark)"); setDarkMode(darkModeSetting.matches); darkModeSetting.addEventListener("change", updateDarkMode); } else { // otherwise use local time to decide let hour = new Date().getHours(); setDarkMode(hour > 18 || hour < 8); } const setSelectedTheme = (selectedIndex) => { let currentStyleIndex = selectField.selectedIndex; if (isDarkModeActive) { darkModeTheme = currentStyleIndex; GM_setValue("darkModeTheme", darkModeTheme); } else { standardTheme = currentStyleIndex; GM_setValue("standardTheme", standardTheme); } }; const changeSelectedTheme = (e) => { setSelectedTheme(e.matches); }; selectField?.addEventListener("change", changeSelectedTheme); window.removeEventListener("beforeunload", changeSelectedTheme); window.removeEventListener("beforeunload", updateDarkMode); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址