Linux.do 稍后再看

为 Linux.do 论坛添加稍后再看功能 - 修复删除同步问题

作者
Aria Chase
日安装量
0
总安装量
6
评分
0 0 0
版本
2.12.5
创建于
2025-08-05
更新于
2025-09-09
大小
99.2 KB
许可证
MIT
适用于

Linux.do 稍后再看

为 Linux.do 论坛添加强大的稍后再读功能,支持跨设备同步。再也不会错过感兴趣的帖子!

✨ 主要特性

📖 智能收藏

  • 按需生成:鼠标悬停1秒后显示 + 按钮,离开2秒后自动移除,高效节省内存
  • 一键添加:在帖子列表页面直接点击 + 按钮添加到稍后再读
  • 状态显示:已添加的帖子显示 标记,一目了然
  • 自动识别:智能识别各种页面布局(首页、分类页、搜索页等)
  • 去重保护:避免重复添加同一帖子

🎛️ 便捷管理

  • 浮动面板:右侧浮动的管理按钮,不遮挡页面内容
  • 多种排序:支持按时间(从旧到新/从新到旧)和标题排序
  • 排序记忆:自动保存排序偏好,重启后保持设置
  • 快速访问:点击帖子标题在新标签页打开
  • 批量操作:支持单个删除和一键清空
  • 数量提醒:实时显示收藏帖子数量

🌐 跨设备同步

  • GitHub Gist 同步:基于 GitHub Gist 的可靠云端存储
  • 智能合并:多设备数据自动合并,不会丢失任何收藏
  • 自动同步:每5分钟自动检查并同步变更
  • 手动同步:支持立即同步功能
  • 隐私安全:使用私有 Gist,数据完全掌控

🎨 用户体验

  • 可拖拽:支持拖拽管理按钮到任意位置
  • 可隐藏:不需要时可以隐藏,支持一键恢复
  • 响应式:适配不同屏幕尺寸
  • 现代化 UI:精美的渐变色彩和流畅动画

📋 使用方法

基础功能

  1. 添加帖子:在首页、分类页等列表页面,将鼠标悬停在帖子上1秒钟,点击出现的 + 按钮
  2. 查看收藏:点击右侧的 📚 管理按钮打开稍后再读列表
  3. 排序列表:在管理面板中使用排序控制按钮:
    • 🕐 从旧到新:按添加时间升序排列(默认)
    • 🕑 从新到旧:按添加时间降序排列
    • 🔤 按标题:按标题字母顺序排列
  4. 阅读帖子:在管理面板中点击帖子标题,会在新标签页打开
  5. 删除收藏:点击帖子右侧的 × 按钮从收藏中移除
  6. 自定义位置:拖拽管理按钮到舒适的位置,位置会自动保存

同步设置

  1. 获取 GitHub Token

  2. 配置同步

    • 点击管理按钮左上角的 ⚙️ 设置按钮
    • 勾选"启用跨设备同步"
    • 粘贴 GitHub Token
    • 点击"测试连接"确保配置正确
    • 保存设置
  3. 多设备使用

    • 第一台设备配置后会自动创建 Gist
    • 其他设备使用相同 Token 即可自动同步

🛠️ 技术特点

  • 零依赖:纯原生 JavaScript,无需额外库
  • 极致性能:按需生成机制,无预加载开销,显著减少内存占用
  • 事件委托:使用全局事件委托,精确的悬停时序控制
  • 兼容性强:适配 Discourse 论坛的 SPA 特性
  • 数据安全:本地存储 + 云端备份双重保障
  • 错误恢复:完善的异常处理和重试机制

📖 支持页面

脚本在以下页面自动工作:

  • 🏠 首页帖子列表
  • 📂 分类页面
  • 🔍 搜索结果页面
  • 👤 用户页面的帖子列表
  • 📊 各种帖子展示页面

🔧 高级功能

调试信息

脚本在控制台输出详细的调试信息,方便问题排查:

[稍后再读] 扫描完成 - 总链接: 25, 已处理: 10, 新添加: 15
[稍后再读] 同步完成

拖拽功能

  • 支持拖拽管理按钮到页面任意位置
  • 自动边界检测,防止拖出屏幕
  • 位置自动保存,重启浏览器后保持

自动同步

  • 数据变更时自动标记需要同步
  • 每5分钟检查一次是否需要同步
  • 智能避免不必要的网络请求

🐛 常见问题

Q: 按钮不显示?

A: 请检查页面是否完全加载,或刷新页面重试。

Q: 同步失败?

A: 请检查 GitHub Token 是否正确,网络是否正常。

Q: 数据丢失?

A: 数据存储在本地和云端双重备份,如遇问题可尝试重新同步。

Q: 按钮位置不对?

A: 可以拖拽按钮到合适位置,或在设置中重置位置。

📄 开源许可

本脚本基于 MIT 许可证开源,欢迎贡献代码和反馈建议。

🔄 更新日志

v2.12.5 (当前版本) - 删除同步问题修复版

  • 🐛 关键修复:解决删除帖子后同步恢复的严重问题,删除操作现在可以正确同步
  • 🗑️ 新增删除记录机制:记录删除操作的时间戳,防止已删除项目被误恢复
  • 📊 数据格式升级:Gist 数据版本从 1.0 升级到 1.1,新增 deletedItems 字段
  • 🔄 智能合并逻辑:优化 mergeData 函数,合并时检查删除记录,跳过已删除项目
  • 🔗 向后兼容:完全兼容旧版本数据格式,用户升级无需担心数据丢失
  • 🧹 容量控制:删除记录最多保存500个,避免存储无限增长
  • 测试验证:用户确认删除同步问题已完全修复

v2.12.4 - 同步冲突修复版

  • 🐛 关键修复:解决多设备同步时数据丢失的严重问题
  • 🔄 改进合并算法:优化 mergeData 函数,智能选择较新版本数据
  • 修复时间戳逻辑:修正 lastRemoteSync 时间戳管理,避免判断错误
  • 🛡️ 保守合并策略:暂时保留所有数据项,彻底杜绝误删除风险
  • 优化上传策略:仅在必要时上传数据,减少无意义的远程操作
  • 测试验证:修复经典的多设备添加冲突场景,确保所有新增项目都被保留

v2.12.0 - 按需生成优化版

  • 🚀 重构按钮生成机制:完全替换原有的IntersectionObserver预加载模式
  • 纯按需生成:使用全局事件委托,鼠标悬停1秒后才生成"+"按钮
  • 🎯 精确时序控制:鼠标离开立即隐藏,2秒后移除按钮,优化内存使用
  • 🛡️ 最小化重构:基于2.8.3版本精确替换核心函数,保持所有原有功能
  • 📈 性能大幅提升:无预加载开销,无视窗观察,显著减少内存占用
  • 🔧 兼容性保证:保留兼容性桩函数,确保所有UI面板、同步、导出功能正常

v2.8.3

  • 性能优化:在帖子详情页面跳过+号按钮功能,减少不必要的性能开销
  • 🎯 智能页面检测:新增页面类型识别,区分帖子列表页面和帖子详情页面
  • 🔄 路由优化:页面切换时自动重置状态,确保功能在不同页面类型间正常工作
  • 📝 版本规范化:统一使用数字版本号格式(如2.8.2),不再使用-full、-optimized等后缀

v2.8.2

  • 🐛 调整了一些bug,新增了调试日志

v2.8

  • 懒加载优化:+号按钮改为选择性生成,进一步提升页面性能
  • 🔍 视窗检测:基于Intersection Observer API,只为进入视窗的帖子生成按钮
  • 🎯 智能清理:新增按钮自动清理机制,定期清理不可见区域的按钮优化内存
  • 🔄 动态监听:实时监听页面DOM变化,自动为新出现的帖子容器添加观察
  • 🚫 回退机制:懒加载失败时自动回退到直接模式,确保功能稳定性
  • 📊 页面可见性优化:页面隐藏时暂停按钮清理,页面显示时恢复,节省资源
  • 🧹 资源管理:页面关闭前自动清理所有定时器和观察器,防止内存泄漏

v2.7

  • 懒加载机制:将+号按钮生成逻辑从一次性全部生成改为按需懒加载
  • 🎯 性能提升:显著减少页面初始加载时的DOM操作和内存占用
  • 🔍 按需生成:只在用户hover到帖子时才生成对应的+号按钮
  • 🧹 资源优化:避免为大量不可见帖子创建不必要的DOM元素
  • 💫 渐进显示:按钮生成后带有淡入动画效果,提升用户体验

v2.6

  • 📋 新增排序功能:支持按加入时间和标题对稍后再看列表进行排序
  • 🕐 从旧到新排序:默认按添加时间升序排列,查看最早收藏的帖子
  • 🕑 从新到旧排序:按添加时间降序排列,查看最新收藏的帖子
  • 🔤 按标题排序:按标题字母顺序排列,便于快速查找特定帖子
  • 💾 排序记忆:自动保存用户的排序偏好,下次打开时保持选择
  • 🎯 一致性保证:导出功能也会按照当前排序模式导出数据
  • 🎨 界面优化:在管理面板添加排序控制区域,操作简单直观

v2.5

  • 🔄 新增跨标签页实时同步:解决同一浏览器不同标签页数据不同步的问题
  • 🔍 新增数据校验和机制,快速检测跨标签页的数据变化
  • ⚡ 实现每秒检查的实时监控,确保标签页间数据一致性
  • 🎯 自动更新UI状态:徽章数量、按钮状态、面板内容实时同步
  • 💡 智能同步提示:数据变化时显示友好的同步状态提示
  • 🧹 优化资源管理:页面关闭时自动清理定时器,避免内存泄漏

v2.4

  • 🐛 修复关键同步问题:解决删除操作被同步覆盖的严重 bug
  • 🕒 新增时间戳追踪机制,智能判断本地和远程数据的新旧程度
  • 🔄 改进数据合并策略:本地较新时以本地为准,保护用户的删除操作
  • 🔧 修复面板关闭功能:支持点击空白处关闭所有面板
  • 🎯 优化面板切换逻辑:确保同时只有一个面板打开,避免层叠问题
  • 📝 增强同步日志记录,便于问题排查和调试

v2.3

  • 🎯 新增多格式导出功能 (Markdown/HTML/JSON)
  • 📥 支持文件下载和剪贴板复制
  • 🎛️ 改进 Gist 选择体验,新增下拉选择功能
  • 📐 修复面板大小限制问题,支持动态调整
  • 🔧 优化面板关闭功能和事件绑定
  • 🎨 界面美化和用户体验提升

v2.2

  • 🔄 修复 Gist 选择界面问题
  • 🎯 优化同步配置体验
  • 🐛 解决下拉菜单显示问题

v2.1

  • ✨ 完善同步功能,支持自动同步
  • 🔧 修复同步配置和错误处理
  • 📱 改进移动端适配

v2.0

  • ✨ 新增跨设备同步功能
  • ✨ 重新设计交互逻辑,支持列表页直接添加
  • 🎨 全新的 UI 设计和动画效果
  • 🐛 修复多项稳定性问题
  • 📱 改进响应式适配

v1.0

  • 🎉 首次发布
  • 📖 基础稍后再读功能
  • 🎛️ 浮动管理面板

💬 反馈建议

如有问题或建议,欢迎在 Greasy Fork 评论区留言,或通过以下方式联系:

  • 发现 Bug 请详细描述复现步骤
  • 功能建议请说明使用场景
  • 欢迎贡献翻译和改进

注意:本脚本仅适用于 Linux.do 论坛,其他 Discourse 论坛可能需要适配。

隐私声明:脚本不会收集任何个人信息,所有数据存储在用户本地和用户自己的 GitHub Gist 中。