知乎夜间模式

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

目前为 2021-09-03 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name 知乎夜间模式
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.2
  5. // @description 开启知乎夜间模式,并且跟随系统主题自动切换,切换后刷新网页不会出现闪白的情况
  6. // @author Starry
  7. // @match *://*.zhihu.com/*
  8. // @grant none
  9. // @run-at document-end
  10. // ==/UserScript==
  11.  
  12. ;(function () {
  13. 'use strict'
  14. const queryString = '(prefers-color-scheme: dark)'
  15. const nowSysTheme = () => window.matchMedia(queryString).matches
  16. let isFirst = true
  17. const changeTheme = isDark => {
  18. let html = document.getElementsByTagName('html')[0]
  19. if (isDark) {
  20. fetch('/?theme=dark')
  21. if (html.getAttribute('data-theme') === 'light') {
  22. isFirst ? location.reload() : html.setAttribute('data-theme', 'dark')
  23. }
  24. } else {
  25. fetch('/?theme=light')
  26. if (html.getAttribute('data-theme') === 'dark') {
  27. isFirst ? location.reload() : html.setAttribute('data-theme', 'light')
  28. }
  29. }
  30. isFirst = false
  31. }
  32. changeTheme(nowSysTheme())
  33. window.matchMedia(queryString).addEventListener('change', function (e) {
  34. changeTheme(e.matches)
  35. })
  36. })()

QingJ © 2025

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