最近终于没人刷我流量了,今日起考虑关闭人机验证观察。
36 Posts In Total
DarkReader API
很早之前用的客户端暗色插件现在支持服务端调用了 DarkReader API 那么正好写一个设置来支持切换深浅色模式,以及持久化用户设置。DarkReader 真的非常方便,理论上默认设置都能很好自动渲染网页生成对应的 CSS,如果有不正常的地方自己微调一下就行。
Setting Page
首先得有一个开关或者设置,这里我选择自己写了一个 Setting 用于存储用户数据,还有保存到 localStorage 之类的的( ) 这里初始化了一个按键的开关,作为被绑定的载体。
Toggle
1 | <div class="setting-item"> |
JavaScript
1 | window.onload = function() { |
上面的 JS 调用的 window.onload 只是为了设置界面可以正常生效,并且持久化和每次自动从 localStorage 加载按键信息所用的,具体的全局设置可以参考这样
1 |
|
这里我之前踩过坑,那就是在最开始调用这个 JS 会导致加载过早, 导致后面渲染出来的页面完全没有被应用深色模式,如果用 window.onload 会导致深色模式的一瞬间加载的时候实际上是浅色主题,等加载完后才执行的 API, 所以你应该把这段 JS 塞在 _layout.swig 或者你使用的框架的合适地方, 比如整体 Web Body( )
似乎已经可以绘制这种较为复杂的UI了
小零食(x)
Micro Sub Pixel Rendering (mspxr) Copyright (C) 2024 Canmi, all rights reserved.
Hexo
MI
USBC
Moment
Realtek
HRS
isolated
LiThermal
allwinner
ADI
injoinic
Amass
Hyprland
Wayland
Nvidia
Web
CSS
DarkReader
1%