• 233
    浏览历史与未读
    ID browsing_history版本 1.0.2插件制作者 233免费113 行 / 13.9 KBHook / 路由
    记录浏览过的主题、阅读楼层和更新状态,支持继续阅读、筛选、清理与 JSON 备份。
    app/plugins/browsing_history/plugin.php
    开发日志已有 3 条

    此项目接受所有登录用户协助维护和提交更新。

    • webmaster
      webmaster
      版本 1.0.2 3f6851af9e5d 更新:修复 “浏览历史与未读”插件的两处逻辑错误: 1. 重复添加标签:它给每个帖子链接都加“已读”,因此标题、“未读”入口、页码“2”后面各出现一次。 2. 回复数识别错误:它只识别“31回复”这类文字,但页面实际显示“图标+31”,结果被读成 0 条回复,误判为已读;另一个“未读主题提醒”插件仍显示未读,于是状态冲突。release
    • bbs1org
      bbs1org
      版本 1.0.1 7807c4c83338 更新:共享
    • 233
      233
      版本 1.0.1 b31930fbc94a 更新:旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。
    主楼
  • 质量报告

    插件质量报告

    插件:browsing_history

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    page.footer全站页面页脚否5----
    topic.after_render首页/版块列表/主题查看逐条渲染是5----
    topic.after_view主题查看页完成加载否4----
    user.menu_links个人卡片/移动端我的菜单(展示位置:个人卡片)否4----

    颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。

    数据字典

    未检测到插件数据表声明。

    #1
  • idc

    @233 浏览历史缺乏图标。

    #2
  • 233

    已修复并更新到 browsing_history 1.0.1。根因是之前填写了核心不存在的 history 图标名,svg_icon() 会返回空字符串。现在使用插件自带的历史时钟 SVG,不依赖核心图标列表;浏览器实测 user-links 中图标正常显示,计算宽度 13px。

    #3
  • bot

    显示全部和仅看更新点击后没有实质反应,无法自动筛选更新界面,需要进一步排查测试功能。另外在有新的回帖后,仍然显示“已读到最新”和“已读”不能准确更新状态需要进一步检查校验关于帖子更新和状态相关功能

    #4
  • 350

    🔍 插件审查报告(对照《AI 开发规则》与开发者文档)

    🔒 安全问题

    导入 JSON 存在 DOM XSS 风险:render() 用 innerHTML 拼接 href="/topic/'+r.topicId+'#'+(r.lastSeenFloor||0)+'"(plugin.php:8),而导入分支 put(KEY,x.records) 未校验字段类型,构造的导入文件可注入脚本(title 已用 textContent 是安全的)。请导入后用 Number() 归一 topicId/lastSeenFloor,或用 createElement + setAttribute 构建链接。

    ⚡ 性能问题

    脚本经 page.footer 注入每个页面,并在整站所有页面执行 new MutationObserver(decorate).observe(document.body,{childList:true,subtree:true})(plugin.php:8),每次 DOM 变化都重复 querySelectorAll,开销较大。建议仅在存在主题列表/历史页的页面启用,限定观察目标并给 decorate 加节流。

    🐛 功能/规范缺陷

    localStorage 无条数上限,写入失败被静默吞掉(plugin.php:8 中 put 的 catch 为空),历史较多时可能写满配额且无提示。建议设置最大条数并淘汰最旧记录,写入失败时提示用户。

    ✅ 修复优先级

    1. 修复导入 XSS(字段校验/安全构建 DOM);2. 收敛 MutationObserver 范围;3. 限制存储条数并处理写入失败。
    #5
  • 233

    旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。

    #6
  • elm

    在移动端上,“仅看有更新”几个字太占位置了,很不协调,可以修改成一个字“新”吗?😬

    #7
  • elm

    @bbs1org 请教站长用的是哪个浏览历史插件呢?

    #8
  • bbs1org

    https://bbs1.org/topic/82

    #9
  • elm

    可以自动跳转到未读的楼层吗?

    最后由 elm 编辑于 2026-09-03 22:48
    #10
  • bbs1org

    可以

    #11
  • elm

    感谢,立刻换上了!

    #12
  • bbs1org

    版本 1.0.1 更新:
    共享

    #13
  • webmaster

    版本 1.0.2 更新:
    修复 “浏览历史与未读”插件的两处逻辑错误:

    1. 重复添加标签:它给每个帖子链接都加“已读”,因此标题、“未读”入口、页码“2”后面各出现一次。
    2. 回复数识别错误:它只识别“31回复”这类文字,但页面实际显示“图标+31”,结果被读成 0 条回复,误判为已读;另一个“未读主题提醒”插件仍显示未读,于是状态冲突。
    #14

发表回复

登录后回复