深圳大学OJ界面优化
鉴于学校OJ界面不太美观,突发奇想,抽空写了个本地修改OJ界面的插件,还附加了一些小功能。
也许我改的这个界面也不算很好看,但是个人认为至少比原来的好挺多。
下面列举一下已修改的页面:
- 主页
- 状态
- 测验列表
- 问题列表
- 问题
- 名次
- 登录
- 提交
- 查看代码
- 常见问答
- 编译/运行错误信息
除了界面本身的修改以外,虽然不多,也介绍一下增加的小功能:
- 自动填写登录时的验证码
- 引用CodeMirror,所以网页代码编辑器非常强大
- 问题页面中,样例输入和样例输出旁边有复制按钮
- 在某些本不会显示登录信息的页面上,加上了登录信息
(理论上来说,验证码识别错误的概率极低,如果你遇到识别错误的情况,可以试试去买彩票)
插件总共2100多行代码,难免会出现一些bug,欢迎大家来向我反馈(如果你知道我是谁的话)。
(如果bug是OJ原本就有的,那么插件也很可能有,因为插件修改的页面的原理就是提取原页面的关键信息,将这些信息放到我写的网页框架上,再把我的代码替换掉原来页面的代码)
已知的小问题是在“名次”页面中的:如果浏览器的宽度比较小,而且题目量特别多的时候,会出现罚时显示不全的情况。
并不是我不想修复这个问题,而是我没有想到怎么处理这个问题更合适,要是有比较好的处理方法,请务必告诉我。
同时,一些平时几乎用不上的页面我就没有修改了,以后随缘补写~
插件是开源的,欢迎有兴趣的同学研究学习。
(暂时不支持英文版界面,如果选择英文版,插件可能无法使用,所以请使用中文版)
“提交”页和“源代码”页都使用了强大的免费且开源的CodeMirror,你甚至可以试试直接在网页上敲代码,向CodeMirror致敬。但是随之而来的缺点就是,因为要加载更多的文件,打开网页速度会变慢。
最后,祝大家每次做实验时做题体验能好一些,每次都能瞬间AK!(手动滑稽)
By L.K.