夜间护眼助手
以下是为“夜间护眼助手”用户脚本撰写的详细使用说明。您可以将此说明保存为 Markdown 或直接阅读。
夜间护眼助手 使用说明书
- 简介
夜间护眼助手 是一款适用于所有网站的用户脚本(Userscript),旨在通过智能切换多种视觉模式来减轻眼睛疲劳,提升夜间或低光环境下的浏览体验。它支持:
· 多种暗色主题(深色、柔和护眼、暖光夜间、深邃省电、纯净黑白等)
· 豆沙绿 / 深暖色底色叠加(可调节浓度)
· 滤镜模式(色彩矩阵护眼)
· 网站专用模式(为不同网站单独设置模式)
· 黑/白名单、强制启用、闪烁抑制等高级控制
· 可拖拽、可调整大小的设置面板
· 白天模式自由加入/移除全局切换循环
- 安装与准备
2.1 前提条件
· 浏览器需安装用户脚本管理器,如 Tampermonkey、Violentmonkey 或 Greasemonkey。
· 确保脚本管理器已启用。
2.2 安装脚本
复制本脚本的完整代码(以 // ==UserScript== 开头,// ==/UserScript== 结尾)。
打开脚本管理器,点击“新建脚本”或“添加脚本”。
粘贴代码,保存(Ctrl+S)。
脚本会自动生效,访问任意网站时即可使用。
快速上手
3.1 主菜单
安装后,浏览器工具栏的脚本管理器图标旁会出现脚本菜单(或点击管理器图标,找到“夜间护眼助手”)。菜单项包括:
· 当前模式名称:点击可切换全局模式(循环模式列表,可自定义)。
· 全局: 开启/关闭:主开关,关闭后所有护眼效果禁用。
· 本站: 启用/禁用:将当前网站加入或移出白名单(白名单内的网站会启用护眼,且不受“暗色站防误判”限制)。
· 设置面板:打开完整的配置窗口。
3.2 设置面板
点击菜单中的“设置面板”打开。面板包含以下区域:
当前状态:显示当前模式、网站、全局开关、白名单/黑名单状态、强制启用状态及网站专用模式。
网站专用模式设置:为特定域名指定专属模式(例如让 github.com 始终使用“深邃省电”)。
全局浓度调节:当全局模式为豆沙绿或深暖色时,可调节底色浓度。
强制启用管理:列表中的网站在满足全局或白名单条件下会强制启用护眼。
黑名单管理:黑名单中的网站始终禁用护眼,优先级最高。
全局循环模式配置:自定义点击菜单或面板“切换”按钮时循环的模式顺序(可自由添加/移除“白天模式”)。
专用模式高级控制:
· 自动关闭专用模式:切换到某个模式时自动关闭“全局专用总开关”(即禁用所有网站的专用模式)。
· 强制专用模式:列表中的网站强制使用其专用模式,不受“全局专用总开关”影响。闪烁抑制列表:添加到列表的网站会启用保守的 DOM 监听策略,减少页面闪烁。
全局设置:全局开关、即时模式、白天开启、预加载、暗色站防误判、强制恢复、显示通知、跟随系统、夜间强度、亮度检测阈值等。
功能详解
4.1 模式类型
模式名称 说明
☀️ 白天模式 正常亮色模式,无任何滤镜。
🌙 夜间模式 反色滤镜,强度可调(0-100%),支持排除元素(如图片、视频),滚动条优化。代码/JSON页面自动应用代码高亮样式。
🎨 滤镜模式 基于 feColorMatrix 的色彩滤镜,护眼效果强,某些网站可能不适用。
⚫ 原版深色 经典 invert(100%)。
🌿 柔和护眼 invert(1) + 轻微亮度/对比度/饱和度调整。
👁️ 护眼暗色 更柔和的亮度和对比度优化。
🌌 深邃省电 高对比度,适合 OLED 屏幕。
⚪ 纯净黑白 去饱和的黑白风格。
🌱 豆沙绿 固定绿色半透明叠加层(mix-blend-mode: multiply),可调节浓度(0-95%)。
🧡 深暖色 暖色半透明叠加层,可调节浓度。
4.2 优先级顺序(从高到低)
- 黑名单:命中后直接禁用,不再检查其他。
- 强制专用模式(需开启“强制专用模式”总开关且网站位于列表中):强制使用其专用模式。
- 网站专用模式(未禁用“全局专用总开关”时生效):为单个网站设置的模式。
- 全局模式:全局开关开启且网站未命中白名单/黑名单/专用模式时,使用当前全局模式。
- 白天模式:当以上条件均不满足时,默认使用白天模式(无效果)。
4.3 重要设置说明
· 全局开关:总控,关闭后所有效果失效。
· 白天开启:如果关闭,则在日间时段(非自定义,仅根据系统?实际脚本仅作为开关,需配合“跟随系统”或手动切换)不会自动进入暗色模式,但手动切换仍有效。
· 暗色站防误判:检测页面背景亮度,若低于阈值(亮度检测阈值),则自动跳过暗色模式,避免二次反色。白名单中的网站不受此限制。
· 强制恢复模式:定期检查样式是否被意外移除,并自动恢复。
· 预加载模式:在 DOM 构建前提前注入样式,减少闪烁。
· 即时模式:与预加载类似,更早应用。
· 夜间强度:仅对“夜间模式”生效,调整反色百分比。
· 亮度检测阈值:0-100,值越低,越容易被视为暗色站(跳过暗色模式)。
4.4 网站专用模式设置
- 在“网站专用模式设置”区域输入域名(如 google.com)或完整 URL。
- 从下拉列表中选择一个模式(包括“默认”表示跟随全局设置)。
- 若选择“豆沙绿”或“深暖色”,可额外调节浓度(0-95%)。
- 点击“应用专用模式”保存。点击“重置为默认”可清除该网站的专用模式。
- 开启“全局专用总开关”后,所有网站的专用模式将暂时失效(强制专用模式不受影响)。
4.5 全局循环模式配置
· 列表中的模式顺序即为点击菜单“当前模式名称”或面板“切换”按钮时的切换顺序。
· 您可以随意添加、删除、排序任何模式(包括白天模式)。
· 如果白天模式不在列表中,那么当全局模式为白天模式时,切换操作会直接跳到列表中的第一个模式;如果列表为空,脚本会自动恢复默认 ['dark']。
4.6 闪烁抑制列表
· 某些网站(如复杂的单页应用)在动态加载内容时会导致样式反复重绘,产生闪烁。将这类网站加入闪烁抑制列表后,脚本会降低 DOM 监听的灵敏度,减少不必要的样式重写。
· 支持精准匹配(只匹配完整域名,不含子域名)或模糊匹配(域名包含关系)。
4.7 强制启用列表
· 强制启用列表中的网站,只要全局开关或白名单有一项开启,就会启用护眼模式。
· 该功能可用于覆盖某些默认不启用的网站,但黑名单优先级更高。
- 使用技巧
5.1 白天模式自由加入/移除循环
· 进入设置面板 → “全局循环模式配置”。
· 点击“添加模式”下拉框,选择“☀️ 白天模式”,点击“+ 添加模式”即可加入列表。
· 点击模式右侧的“删除”按钮可将其移除。
5.2 为不同网站设置不同模式
· 例如:B站(bilibili.com)使用“🌙 夜间模式”,GitHub 使用“🌌 深邃省电”,新闻网站使用“🌱 豆沙绿”。
· 设置后,脚本会记住并为每个网站自动应用。
5.3 临时关闭所有专用模式
· 打开设置面板 → “网站专用模式设置” → 开启“全局专用总开关”(切换开关变为红色“已关闭”状态)。此时所有网站将忽略各自的专用模式,统一使用全局设置。再次关闭开关即可恢复。
5.4 避免双重反色
· 如果您发现某些网站已经自带深色模式,开启“暗色站防误判”并适当降低“亮度检测阈值”(如 30),脚本会自动跳过这些网站。
5.5 调整面板位置和大小
· 设置面板顶部有拖拽条(标题栏),可拖动移动面板。
· 点击右上角的“📐”图标,可展开尺寸调节面板,拖动滑块改变面板宽度和高度,点击“重置尺寸”恢复默认。
- 常见问题
Q1: 脚本安装后没有效果?
· 检查脚本管理器是否已启用该脚本。
· 确认全局开关是否开启(菜单显示“全局: 开启”)。
· 检查当前网站是否在黑名单中。
· 如果开启了“暗色站防误判”,尝试暂时关闭或调低亮度阈值。
Q2: 切换模式时没有变化?
· 确认您不是在使用“白天模式”(它不产生视觉效果)。
· 尝试刷新页面或重新打开设置面板并再次切换。
· 检查控制台是否有错误(F12 → Console),若有,请反馈给作者。
Q3: 某些网站(如视频网站)画面颜色异常?
· 脚本默认会对图片、视频等元素进行反向过滤(invert(1))以纠正颜色。如果效果不佳,您可以在“夜间模式”的排除列表中添加特定选择器(高级用户可修改脚本中的 dark3Exclude 变量)。
Q4: 豆沙绿或深暖色模式下,页面某些区域颜色奇怪?
· 因为叠加层使用了 mix-blend-mode: multiply,某些背景为白色的区域会变绿/变暖。您可以降低浓度(如 0.2)或改用其他模式。
Q5: 脚本会影响浏览器性能吗?
· 脚本已做缓存和节流优化,正常情况下影响极小。如果您遇到页面卡顿,可以尝试关闭“强制恢复模式”或将网站加入“闪烁抑制列表”。
- 更新日志
· v5.27.45:修复设置面板保存问题;优化白天模式循环逻辑;修复豆沙绿/深暖色浓度滑块;完善拖拽与尺寸存储。
· v5.27.44:修复切换模式不生效的问题;重写样式应用逻辑。
· v5.27.43:白天模式可自由加入/移除循环列表。
· v5.27.42:完善循环模式切换算法。
· v5.27.41:支持白天模式添加/移除。
- 联系与反馈
本脚本由“未名”开发,遵循 MIT 许可证。如有问题或建议,欢迎在脚本发布页面留言(通常发布于 GreasyFork 或脚本猫)。您也可以自行修改源码以满足个性化需求。
祝您使用愉快,保护双眼!