觉得好用记得给个 star 哦
这是一个基于 Chromium Manifest V3 的 YOJ 状态标记插件项目,当前按浏览器拆成两套独立目录:
chrome/:Chrome 版本edge/:Edge 版本
两套插件功能保持一致,都会在 YOJ 题库页直接标记:
- 已通过题目
- 已尝试但尚未通过的题目
- 最近一次非 AC 状态
- 非 AC 题目的最高分
- 题库页:
http://yoj.ruc.edu.cn/index.php/index/problem/index.html
插件只在登录后的 YOJ 页面上工作,依赖浏览器当前的登录态:
- 读取个人数据页
/index.php/index/user/detail.html,提取“通过的题目”列表。 - 读取提交记录页
/index.php/index/submissions/index.html及其分页,汇总每道题的提交状态。 - 在题库页每道题后插入状态徽标,并将结果缓存到浏览器本地存储。
- 自动在题库页同步数据
- 本地缓存 6 小时
- 弹窗支持手动刷新
- 最多扫描最近 80 页提交记录
如果个人提交记录超过 80 页:
AC标记仍然可靠,因为来自个人数据页的通过题目列表- “做过但没过”的识别仅覆盖最近 80 页记录
yoj plugin/
├─ chrome/
│ ├─ manifest.json
│ ├─ content-script.js
│ ├─ content-style.css
│ ├─ popup.html
│ └─ popup.js
├─ edge/
│ ├─ manifest.json
│ ├─ content-script.js
│ ├─ content-style.css
│ ├─ popup.html
│ └─ popup.js
├─ .gitignore
└─ README.md
- 打开 Chrome。
- 进入
chrome://extensions/ - 打开“开发者模式”。
- 选择“加载已解压的扩展程序”。
- 选择目录
chrome/
- 打开 Edge。
- 进入
edge://extensions/ - 打开“开发人员模式”。
- 选择“加载解压缩的扩展”。
- 选择目录
edge/
- 目前只对题库页做 UI 标记。
- 依赖 YOJ 当前 HTML 结构;如果内网页面模板改动,需要同步调整解析规则。
