夜间护眼助手

Created at 3 個月前
Updated at 5 天前
智能暗色主题切换 · 多模式支持 · 黑名单/白名单/强制启用 · 闪烁抑制 · 亮度检测防误判 · 超强预加载/即时模式 · 多重强制恢复(后退/前进无闪烁)· 可拖拽面板 · 完整主题 · 浓度滑块单独折叠 · 白天模式自由加入/移除循环 · 极速无闪烁注入 · 专用模式下拉框原生样式 · 模式说明完整 · 模式排序优化 · 🍃柔暖双色浓度滑块实时生效(无需点击应用) · 浓度0%完全透明 · 类型切换立即生效 · 设置面板布局优化 · 专用模式与全局专用总开关间距调整为20px · 增强搜索引擎兼容与bfcache返回恢复 · 修复专用模式受全局/白名单控制问题 · 修复专用模式切换时被意外清除的问题 · 优化全局模式切换性能 · 菜单点击不再自动禁用专用模式
Total Installs
951
Today's New
+2
User Rating
- / 5.0 (0)
Current Version
5.36.15
Script Details
Applicable Sites

以下是为“夜间护眼助手”用户脚本撰写的详细使用说明。您可以将此说明保存为 Markdown 或直接阅读。


夜间护眼助手 使用说明书

  1. 简介

夜间护眼助手 是一款适用于所有网站的用户脚本(Userscript),旨在通过智能切换多种视觉模式来减轻眼睛疲劳,提升夜间或低光环境下的浏览体验。它支持:

· 多种暗色主题(深色、柔和护眼、暖光夜间、深邃省电、纯净黑白等)
· 豆沙绿 / 深暖色底色叠加(可调节浓度)
· 滤镜模式(色彩矩阵护眼)
· 网站专用模式(为不同网站单独设置模式)
· 黑/白名单、强制启用、闪烁抑制等高级控制
· 可拖拽、可调整大小的设置面板
· 白天模式自由加入/移除全局切换循环

  1. 安装与准备

2.1 前提条件

· 浏览器需安装用户脚本管理器,如 Tampermonkey、Violentmonkey 或 Greasemonkey。
· 确保脚本管理器已启用。

2.2 安装脚本

  1. 复制本脚本的完整代码(以 // ==UserScript== 开头,// ==/UserScript== 结尾)。

  2. 打开脚本管理器,点击“新建脚本”或“添加脚本”。

  3. 粘贴代码,保存(Ctrl+S)。

  4. 脚本会自动生效,访问任意网站时即可使用。

  5. 快速上手

3.1 主菜单

安装后,浏览器工具栏的脚本管理器图标旁会出现脚本菜单(或点击管理器图标,找到“夜间护眼助手”)。菜单项包括:

· 当前模式名称:点击可切换全局模式(循环模式列表,可自定义)。
· 全局: 开启/关闭:主开关,关闭后所有护眼效果禁用。
· 本站: 启用/禁用:将当前网站加入或移出白名单(白名单内的网站会启用护眼,且不受“暗色站防误判”限制)。
· 设置面板:打开完整的配置窗口。

3.2 设置面板

点击菜单中的“设置面板”打开。面板包含以下区域:

  1. 当前状态:显示当前模式、网站、全局开关、白名单/黑名单状态、强制启用状态及网站专用模式。

  2. 网站专用模式设置:为特定域名指定专属模式(例如让 github.com 始终使用“深邃省电”)。

  3. 全局浓度调节:当全局模式为豆沙绿或深暖色时,可调节底色浓度。

  4. 强制启用管理:列表中的网站在满足全局或白名单条件下会强制启用护眼。

  5. 黑名单管理:黑名单中的网站始终禁用护眼,优先级最高。

  6. 全局循环模式配置:自定义点击菜单或面板“切换”按钮时循环的模式顺序(可自由添加/移除“白天模式”)。

  7. 专用模式高级控制:
    · 自动关闭专用模式:切换到某个模式时自动关闭“全局专用总开关”(即禁用所有网站的专用模式)。
    · 强制专用模式:列表中的网站强制使用其专用模式,不受“全局专用总开关”影响。

  8. 闪烁抑制列表:添加到列表的网站会启用保守的 DOM 监听策略,减少页面闪烁。

  9. 全局设置:全局开关、即时模式、白天开启、预加载、暗色站防误判、强制恢复、显示通知、跟随系统、夜间强度、亮度检测阈值等。

  10. 功能详解

4.1 模式类型

模式名称 说明
☀️ 白天模式 正常亮色模式,无任何滤镜。
🌙 夜间模式 反色滤镜,强度可调(0-100%),支持排除元素(如图片、视频),滚动条优化。代码/JSON页面自动应用代码高亮样式。
🎨 滤镜模式 基于 feColorMatrix 的色彩滤镜,护眼效果强,某些网站可能不适用。
⚫ 原版深色 经典 invert(100%)。
🌿 柔和护眼 invert(1) + 轻微亮度/对比度/饱和度调整。
👁️ 护眼暗色 更柔和的亮度和对比度优化。
🌌 深邃省电 高对比度,适合 OLED 屏幕。
⚪ 纯净黑白 去饱和的黑白风格。
🌱 豆沙绿 固定绿色半透明叠加层(mix-blend-mode: multiply),可调节浓度(0-95%)。
🧡 深暖色 暖色半透明叠加层,可调节浓度。

4.2 优先级顺序(从高到低)

  1. 黑名单:命中后直接禁用,不再检查其他。
  2. 强制专用模式(需开启“强制专用模式”总开关且网站位于列表中):强制使用其专用模式。
  3. 网站专用模式(未禁用“全局专用总开关”时生效):为单个网站设置的模式。
  4. 全局模式:全局开关开启且网站未命中白名单/黑名单/专用模式时,使用当前全局模式。
  5. 白天模式:当以上条件均不满足时,默认使用白天模式(无效果)。

4.3 重要设置说明

· 全局开关:总控,关闭后所有效果失效。
· 白天开启:如果关闭,则在日间时段(非自定义,仅根据系统?实际脚本仅作为开关,需配合“跟随系统”或手动切换)不会自动进入暗色模式,但手动切换仍有效。
· 暗色站防误判:检测页面背景亮度,若低于阈值(亮度检测阈值),则自动跳过暗色模式,避免二次反色。白名单中的网站不受此限制。
· 强制恢复模式:定期检查样式是否被意外移除,并自动恢复。
· 预加载模式:在 DOM 构建前提前注入样式,减少闪烁。
· 即时模式:与预加载类似,更早应用。
· 夜间强度:仅对“夜间模式”生效,调整反色百分比。
· 亮度检测阈值:0-100,值越低,越容易被视为暗色站(跳过暗色模式)。

4.4 网站专用模式设置

  1. 在“网站专用模式设置”区域输入域名(如 google.com)或完整 URL。
  2. 从下拉列表中选择一个模式(包括“默认”表示跟随全局设置)。
  3. 若选择“豆沙绿”或“深暖色”,可额外调节浓度(0-95%)。
  4. 点击“应用专用模式”保存。点击“重置为默认”可清除该网站的专用模式。
  5. 开启“全局专用总开关”后,所有网站的专用模式将暂时失效(强制专用模式不受影响)。

4.5 全局循环模式配置

· 列表中的模式顺序即为点击菜单“当前模式名称”或面板“切换”按钮时的切换顺序。
· 您可以随意添加、删除、排序任何模式(包括白天模式)。
· 如果白天模式不在列表中,那么当全局模式为白天模式时,切换操作会直接跳到列表中的第一个模式;如果列表为空,脚本会自动恢复默认 ['dark']。

4.6 闪烁抑制列表

· 某些网站(如复杂的单页应用)在动态加载内容时会导致样式反复重绘,产生闪烁。将这类网站加入闪烁抑制列表后,脚本会降低 DOM 监听的灵敏度,减少不必要的样式重写。
· 支持精准匹配(只匹配完整域名,不含子域名)或模糊匹配(域名包含关系)。

4.7 强制启用列表

· 强制启用列表中的网站,只要全局开关或白名单有一项开启,就会启用护眼模式。
· 该功能可用于覆盖某些默认不启用的网站,但黑名单优先级更高。

  1. 使用技巧

5.1 白天模式自由加入/移除循环

· 进入设置面板 → “全局循环模式配置”。
· 点击“添加模式”下拉框,选择“☀️ 白天模式”,点击“+ 添加模式”即可加入列表。
· 点击模式右侧的“删除”按钮可将其移除。

5.2 为不同网站设置不同模式

· 例如:B站(bilibili.com)使用“🌙 夜间模式”,GitHub 使用“🌌 深邃省电”,新闻网站使用“🌱 豆沙绿”。
· 设置后,脚本会记住并为每个网站自动应用。

5.3 临时关闭所有专用模式

· 打开设置面板 → “网站专用模式设置” → 开启“全局专用总开关”(切换开关变为红色“已关闭”状态)。此时所有网站将忽略各自的专用模式,统一使用全局设置。再次关闭开关即可恢复。

5.4 避免双重反色

· 如果您发现某些网站已经自带深色模式,开启“暗色站防误判”并适当降低“亮度检测阈值”(如 30),脚本会自动跳过这些网站。

5.5 调整面板位置和大小

· 设置面板顶部有拖拽条(标题栏),可拖动移动面板。
· 点击右上角的“📐”图标,可展开尺寸调节面板,拖动滑块改变面板宽度和高度,点击“重置尺寸”恢复默认。

  1. 常见问题

Q1: 脚本安装后没有效果?

· 检查脚本管理器是否已启用该脚本。
· 确认全局开关是否开启(菜单显示“全局: 开启”)。
· 检查当前网站是否在黑名单中。
· 如果开启了“暗色站防误判”,尝试暂时关闭或调低亮度阈值。

Q2: 切换模式时没有变化?

· 确认您不是在使用“白天模式”(它不产生视觉效果)。
· 尝试刷新页面或重新打开设置面板并再次切换。
· 检查控制台是否有错误(F12 → Console),若有,请反馈给作者。

Q3: 某些网站(如视频网站)画面颜色异常?

· 脚本默认会对图片、视频等元素进行反向过滤(invert(1))以纠正颜色。如果效果不佳,您可以在“夜间模式”的排除列表中添加特定选择器(高级用户可修改脚本中的 dark3Exclude 变量)。

Q4: 豆沙绿或深暖色模式下,页面某些区域颜色奇怪?

· 因为叠加层使用了 mix-blend-mode: multiply,某些背景为白色的区域会变绿/变暖。您可以降低浓度(如 0.2)或改用其他模式。

Q5: 脚本会影响浏览器性能吗?

· 脚本已做缓存和节流优化,正常情况下影响极小。如果您遇到页面卡顿,可以尝试关闭“强制恢复模式”或将网站加入“闪烁抑制列表”。

  1. 更新日志

· v5.27.45:修复设置面板保存问题;优化白天模式循环逻辑;修复豆沙绿/深暖色浓度滑块;完善拖拽与尺寸存储。
· v5.27.44:修复切换模式不生效的问题;重写样式应用逻辑。
· v5.27.43:白天模式可自由加入/移除循环列表。
· v5.27.42:完善循环模式切换算法。
· v5.27.41:支持白天模式添加/移除。

  1. 联系与反馈

本脚本由“未名”开发,遵循 MIT 许可证。如有问题或建议,欢迎在脚本发布页面留言(通常发布于 GreasyFork 或脚本猫)。您也可以自行修改源码以满足个性化需求。


祝您使用愉快,保护双眼!