Skip to content

Repository files navigation

妖火论坛-帖子列表页双栏预览

YaoHuo Split Preview

YaoHuo_Split_Preview.js 是一个桌面端 Tampermonkey 用户脚本,用于把妖火论坛帖子列表页改造成“左侧帖子列表 + 右侧 iframe 预览”的双栏阅读界面。它适合连续浏览帖子、快速切换上下帖、保留已读状态,并支持将右侧预览内容导出为 PNG。

核心亮点

  • 列表页内完成阅读:点击左侧帖子后,右侧直接预览详情页。
  • 连续阅读效率更高:支持按钮和快捷键切换上一帖、下一帖。
  • 阅读状态本地保存:自动记录已读、分栏比例和上次浏览帖子。
  • 长帖保存更方便:自动展开更多评论后导出右侧预览为 PNG。
  • 桌面端体验优化:支持拖拽分栏、预览净化、左栏自动加载更多。

功能特性

双栏预览布局

双栏预览布局

  • 左侧保留原帖子列表,右侧使用 iframe 加载帖子详情。
  • 当前帖子会高亮,已读帖子会使用单独颜色标记。
  • 长按中间分隔条可调整左右宽度,双击恢复默认 40% / 60% 比例。
  • 左侧滚动到底部附近时会自动触发加载更多。

快捷键与快速操作

快捷键导航

  • Space 打开下一帖。
  • Shift + Space 打开上一帖。
  • Ctrl + Shift 回到顶部并打开第一个帖子。
  • CX 在右侧回复框中填入预设快捷回复。
  • 快捷键在输入框、文本域、按钮和可编辑区域中会自动避让。

PNG 导出

PNG 导出

  • 点击 存图片 后,脚本会尝试展开右侧帖子中的更多评论。
  • 导出前会等待图片和字体资源加载,提升截图完整度。
  • 导出过程会限制最大像素和边长,降低浏览器卡死风险。

状态记忆

状态记忆

  • 点击预览后自动标记已读,并保存到浏览器 localStorage
  • 重新打开列表页时,脚本会恢复到上次浏览的帖子。
  • 分栏比例会持久化保存,下次打开继续使用。
  • 清理浏览器站点数据后,已读、比例和上次浏览记录会重置。

适用范围

脚本仅在以下页面生效:

  • https://yaohuo.me/bbs/book_list.aspx*
  • https://www.yaohuo.me/bbs/book_list.aspx*

安装方式

  1. 安装支持 userscript 的浏览器扩展,例如 Tampermonkey。
  2. 打开脚本安装地址:
https://raw.githubusercontent.com/WuSanJu/YaoHuo_Split_Preview/master/YaoHuo_Split_Preview.js
  1. 在扩展安装页确认安装。
  2. 打开妖火论坛帖子列表页,脚本会在页面空闲时自动启用。

文件名与更新地址

当前工作区脚本文件名统一为:

YaoHuo_Split_Preview.js

@downloadURL@updateURL 已同步指向该文件名。

使用说明

  • 点击左侧帖子:右侧预览对应帖子,并标记为已读。
  • 点击 上一帖:打开当前列表中的上一条帖子。
  • 点击 下一帖:打开当前列表中的下一条帖子。
  • 点击 新标签:在新标签页打开当前帖子。
  • 点击 存图片:展开右侧帖子评论并导出 PNG。
  • 点击 清痕迹:清除当前页已读痕迹,保留当前帖子状态。
  • 长按分隔条:拖动调整左右栏宽度。
  • 双击分隔条:恢复默认 40% / 60% 分栏比例。

快捷键速查

快捷键 行为
Space 下一帖
Shift + Space 上一帖
Ctrl + Shift 回到顶部并打开第一个帖子
C 填入随机快捷回复:吃肉、吃吃、吃了
X 填入随机快捷回复:谢谢分享、感谢分享、多谢分享

快捷键在输入框、文本域、按钮和可编辑区域中会避让,减少误触。

数据存储

脚本使用浏览器 localStorage 保存本地状态:

键名 用途
yaohuo_split_desktop_left_ratio_v5 左右分栏比例
yaohuo_split_desktop_read_threads_v5 已读帖子 ID 集合
yaohuo_split_desktop_last_thread_map_v5 各列表上下文的上次浏览帖子

这些数据保存在浏览器本地。清理站点数据或浏览器缓存后,脚本状态会重置。

权限与依赖

脚本运行时按需从 jsDelivr 加载 html2canvas@1.4.1,用于生成 PNG 图片:

https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js

脚本本身使用 @grant none,没有请求 Tampermonkey 扩展 API 权限。

浏览器兼容性

  • 推荐桌面端 Chromium 内核浏览器或 Firefox。
  • 推荐使用最新版 Tampermonkey。
  • 移动端、窄屏设备和粗指针设备会显示桌面端专用提示。

开发说明

本仓库是单文件 userscript 项目,没有构建步骤。修改脚本后可直接通过 Tampermonkey 本地安装或复制源码调试。

发布流程:

  1. 确认脚本文件名为 YaoHuo_Split_Preview.js
  2. 更新 userscript 元数据中的 @version
  3. 在目标页面进行手动回归测试。
  4. 更新 CHANGELOG.md
  5. 提交并推送到 GitHub。

许可证

本项目基于 MIT License 发布,详见 LICENSE

About

桌面端 Tampermonkey 用户脚本:妖火论坛帖子列表页双栏预览,支持已读记录、快捷键、自动加载和 PNG 导出。

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages