知乎夜间模式

开启知乎夜间模式,并且跟随系统主题自动切换,切换后刷新网页不会出现闪白的情况

目前為 2021-09-03 提交的版本,檢視 最新版本

// ==UserScript==
// @name        知乎夜间模式
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  开启知乎夜间模式,并且跟随系统主题自动切换,切换后刷新网页不会出现闪白的情况
// @author       Starry
// @match        *://*.zhihu.com/*
// @grant        none
// @run-at document-end
// ==/UserScript==

;(function () {
  'use strict'
  const queryString = '(prefers-color-scheme: dark)'
  const nowSysTheme = () => window.matchMedia(queryString).matches
  let isFirst = true
  const changeTheme = isDark => {
    let html = document.getElementsByTagName('html')[0]
    if (isDark) {
      fetch('/?theme=dark')
      if (html.getAttribute('data-theme') === 'light') {
        isFirst ? location.reload() : html.setAttribute('data-theme', 'dark')
      }
    } else {
      fetch('/?theme=light')
      if (html.getAttribute('data-theme') === 'dark') {
        isFirst ? location.reload() : html.setAttribute('data-theme', 'light')
      }
    }
    isFirst = false
  }
  changeTheme(nowSysTheme())
  window.matchMedia(queryString).addEventListener('change', function (e) {
    changeTheme(e.matches)
  })
})()

QingJ © 2025

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