Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NIIT-OJ-Utils (NIIT OJ 实用工具)

这是一个为 NIIT Online Judge (oj.niit.com.cn) 开发的辅助工具,旨在提升刷题体验。

✨ 功能特性

  1. 题目导航
    • 在题目详情页底部添加“上一题”和“下一题”的快捷按钮。
    • 支持虚拟列表导航,无需先访问列表页即可连续刷题。
  2. 标签与难度跳转
    • 标签跳转:点击题目详情页或列表页的标签(如“输入输出”),可直接跳转到筛选该标签的题目列表(需先浏览一次列表页以捕获标签ID)。
    • 难度跳转:点击题目难度图标(简单/中等/困难)或详情页的“难度: XX”按钮,可直接筛选对应难度的题目。
  3. IDE 增强
    • 代码缓存:自动保存未提交的代码到本地,防止意外关闭导致代码丢失。
    • 保存设置:在编辑器设置面板中增加“保存设置到本地”按钮,可永久保存主题、字体大小和缩进设置(需刷新生效)。
    • 选区修复:彻底重构了编辑器的选择机制,解决了鼠标指针跳动、无法拖拽选择、选中文本被误删等问题。
    • 剪贴板增强:修复了编辑器中 Ctrl+C/X/V 失效的问题,支持跨行复制和系统剪贴板交互。
    • 智能缩进:针对 Python 等语言优化 Tab 键缩进(4个空格)和智能删除。
  4. 讨论区优化:点击题目详情页的“题目讨论”标签时,会自动在新窗口打开讨论区,避免覆盖当前题目内容。
  5. 提交详情修复:修复了点击“提交状态”或“提交历史”时跳转到错误页面(undefined)的问题,现在能正确跳转到提交详情页。
  6. 图片显示修复:自动修复题目描述中无法显示的图片(修正错误的相对路径)。
  7. 全局导航优化
    • 支持按住 Ctrl (Windows) 或 Command (macOS) 点击链接在新标签页打开。
    • 普通点击在当前页跳转(SPA 无刷新路由),体验更流畅。
  8. 插件介绍页
    • 访问 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               # 项目说明

🚀 使用方法

方式一:浏览器扩展 (推荐)

  1. 下载本项目代码。
  2. 打开 Edge/Chrome 浏览器的扩展管理页面 (edge://extensions/chrome://extensions/)。
  3. 开启“开发人员模式”。
  4. 点击“加载解压缩的扩展”,选择 extension 文件夹。

方式二:油猴脚本

  1. 确保浏览器已安装 Tampermonkey 插件。
  2. 点击 Tampermonkey 图标 -> 添加新脚本。
  3. userscript/niit_oj_nav.user.js 中的代码复制粘贴进去并保存。

License

MIT License

About

这是一个为 NIIT Online Judge (oj.niit.com.cn) 开发的辅助工具,旨在提升刷题体验。

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages