这是一个为 NIIT Online Judge (oj.niit.com.cn) 开发的辅助工具,旨在提升刷题体验。
- 题目导航:
- 在题目详情页底部添加“上一题”和“下一题”的快捷按钮。
- 支持虚拟列表导航,无需先访问列表页即可连续刷题。
- 标签与难度跳转:
- 标签跳转:点击题目详情页或列表页的标签(如“输入输出”),可直接跳转到筛选该标签的题目列表(需先浏览一次列表页以捕获标签ID)。
- 难度跳转:点击题目难度图标(简单/中等/困难)或详情页的“难度: XX”按钮,可直接筛选对应难度的题目。
- IDE 增强:
- 代码缓存:自动保存未提交的代码到本地,防止意外关闭导致代码丢失。
- 保存设置:在编辑器设置面板中增加“保存设置到本地”按钮,可永久保存主题、字体大小和缩进设置(需刷新生效)。
- 选区修复:彻底重构了编辑器的选择机制,解决了鼠标指针跳动、无法拖拽选择、选中文本被误删等问题。
- 剪贴板增强:修复了编辑器中 Ctrl+C/X/V 失效的问题,支持跨行复制和系统剪贴板交互。
- 智能缩进:针对 Python 等语言优化 Tab 键缩进(4个空格)和智能删除。
- 讨论区优化:点击题目详情页的“题目讨论”标签时,会自动在新窗口打开讨论区,避免覆盖当前题目内容。
- 提交详情修复:修复了点击“提交状态”或“提交历史”时跳转到错误页面(undefined)的问题,现在能正确跳转到提交详情页。
- 图片显示修复:自动修复题目描述中无法显示的图片(修正错误的相对路径)。
- 全局导航优化:
- 支持按住 Ctrl (Windows) 或 Command (macOS) 点击链接在新标签页打开。
- 普通点击在当前页跳转(SPA 无刷新路由),体验更流畅。
- 插件介绍页:
- 访问 oj.niit.com.cn/about 不再显示 404,而是显示插件的功能介绍与版本信息。
niit-oj-utils/
├── extension/ # 浏览器扩展源码 (Edge/Chrome)
│ ├── manifest.json
│ ├── content.js
│ └── README.md # 扩展安装说明
├── userscript/ # 油猴脚本源码
│ └── niit_oj_nav.user.js
└── README.md # 项目说明
- 下载本项目代码。
- 打开 Edge/Chrome 浏览器的扩展管理页面 (
edge://extensions/或chrome://extensions/)。 - 开启“开发人员模式”。
- 点击“加载解压缩的扩展”,选择
extension文件夹。
- 确保浏览器已安装 Tampermonkey 插件。
- 点击 Tampermonkey 图标 -> 添加新脚本。
- 将
userscript/niit_oj_nav.user.js中的代码复制粘贴进去并保存。
MIT License