• 307
    搜索关键词高亮
    ID search_highlight版本 1.0.0插件制作者 307免费88 行 / 2.9 KBHook / 路由 / 后台页
    从搜索结果进入帖子时,自动高亮页面中出现的搜索关键词。
    app/plugins/search_highlight/plugin.php
    本插件的完善需要你的积极参与。安装使用中遇到任何,不要抱怨,请直接回帖描述,帮助开发者完善。
    开发日志已有 1 条

    个人独立维护项目。

    • 307
      307
      版本 1.0.0 bf153e4a5bb6 更新:旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。release
    主楼
  • 质量报告

    插件质量报告

    插件:search_highlight

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表

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

    数据字典

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

    #1
  • 350

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

    🔒 安全问题

    未发现明显问题。关键词已做正则特殊字符转义,无 ReDoS 或注入;仅处理文本节点且跳过 SCRIPT/STYLE/MARK。

    ⚡ 性能问题

    未发现明显问题。

    🐛 功能/规范缺陷

    • plugin.php:66-69 document.querySelector('.post-list .post-title,.post-list .post-content') 只返回第一个匹配元素(单个 Element,不是类数组),随后 [].forEach.call(root, ...) 因 Element 无 length 而不执行任何回调,导致高亮逻辑完全不会运行,插件实际无效。应改用 querySelectorAll(...) 后遍历,或直接使用 NodeList.prototype.forEach。
    • plugin.php:21 与 plugin.php:23 的 decodeURIComponent 在遇到非法百分号序列时会抛 URIError,使整个高亮脚本中断。建议对解码包 try/catch 或改用安全的参数解析。

    ✅ 修复优先级

    1. 优先修复 querySelector→querySelectorAll(否则插件不生效);2. 给 URL 解码加容错处理。
    #2
  • 307

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

    #3

发表回复

登录后回复