Loading... ***免责声明:本插件仅供学习和研究使用。虽努力确保质量,但不排除存在bug的可能性,可能导致严重后果。您继续使用本插件即表示同意自行承担使用所引起的所有风险!!!*** 先上插件[安装链接](https://greasyfork.org/zh-CN/scripts/477607-%E4%B8%9C%E5%8C%97%E5%B8%88%E8%8C%83%E5%A4%A7%E5%AD%A6%E6%95%99%E5%8A%A1%E7%B3%BB%E7%BB%9F%E4%BF%AE%E5%A4%8D),具体安装步骤跳转文末章节“QwQ安装方法”。 --- ## Preface 我校学籍注册、成绩查询、课程计划、缓考(补考)申请和一些专项考试报名,都需要在“教学服务系统”上完成。 > 目前学校所使用的本科生、研究生教学服务系统均由湖南强智科技发展有限公司开发。 > > 这套系统是 21世纪初(约2005年前后研发)的版本,版本很老。由于学校的经费、管理问题,后续一直没有对系统进行更新。 但是,有一个令人很苦恼的问题,这个系统要求必须使用IE内核的浏览器才能访问。而IE浏览器已经在几年前(记不清了)被微软公司宣布停止更新,并不再在Windows操作系统中支持。 这个问题一直让很多同学(和很多老师,老师需要用这个系统上传成绩)苦恼很久。事实上,国内有多家公司的套壳浏览器都在微软宣布停止支持IE后表示会继续在自家浏览器里支持IE内核,比如360浏览器、QQ浏览器、百度浏览器等。经过测试,这些浏览器确实可以成功打开教务系统,但是出于一些众所周知的原因,没人愿意在电脑里安装这些浏览器(( 所以,在大一期间,我一直都在使用一个Chrome浏览器的插件“IE Tab”,这个插件可能相当于一个IE内核,虽然会使浏览器的响应变得非常慢,具体原理没研究过,但确实可以打开教务系统并正常使用。上了大二,我换了Mac电脑,这个插件在Mac上要收费,而且我并没有找到继续免费使用的办法,所以我只能安装一个Windows arm虚拟机,并且在虚拟机中安装一个QQ浏览器。 幸好我校的选课系统在Chrome上就能访问,否则我想当我打开选课系统时,可能已经没有没选满的选修课了。 上个月,在github上闲逛的时候,突然想起来这件事情,想试试会不会有人解决过这个问题,结果还真有人做过,是我校e翔工作室开发的。我下载下来试了试,但因为chrome插件的升级,这个插件用到的一些api已经被弃用了,没办法使用了。原项目地址:https://github.com/efly-studio/nenu-jwc-repair 好在代码不长,逻辑也不是很难,所以我打算用油猴脚本把这个插件重写一下,就有了这篇博客。 ## qwq 打开教务助理平台,弹出alert弹窗“不能创建对象”。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128225026228.png) F12开发者调试工具,在core.js中找到了这段文字,这段代码如下: ```js function send_request(url,SystemBh) { http_request = false; if(window.XMLHttpRequest && 1==2) { http_request = new XMLHttpRequest(); if (http_request.overrideMimeType){ http_request.overrideMimeType("text/xml"); } }else if (window.ActiveXObject){ try{ http_request = new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ http_request = new ActiveXObject("Microsoft.XMLHTTP"); }catch (ei){} } } if (!http_request){ window.alert("不能创建对象!"); return false; } ... } ``` 可以确定是由于使用ActiveX导致的问题,比较新的浏览器都不支持这个框架了,好在这个函数是用来发送请求的,可以直接重写这部分。使用脚本的替换功能,把这段删掉,替换为以下单行: ```js var http_request = new XMLHttpRequest(); ``` 即可。 替换完成,成功打开: ![](https://img.wyy.ink/images/2023/11/28/image-20231128225102605.png) ## QAQ 测试了很多功能,发现弹出式窗口用不了。 同样的方法,F12看一下,发现这个错误: <img src="https://img.wyy.ink/images/2023/11/28/image-20231128230229748.png" alt="image-20231128230229748" style="zoom:50%;" style=""> 搜索一下,类似的问题,新版本中,这个方法被弃用了,, 找了找解决办法,决定引用这里:https://github.com/niutech/showModalDialog 这个插件可以“伪装”一个弹出式窗口,相当于一个蒙版,附在页面上。 直接copy过去就可以了,然后就好了 :-) <img src="https://img.wyy.ink/images/2023/11/28/image-20231128230923784.png" style="zoom:50%;" /> 长的不太好看,但无所谓,能用就行(( ## QoQ 另外还修复了几个列表加载,文件下载的问题,都类似过程,就不写了。 这个系统真的是太老了,学校也不重新开发一个,,希望我这个插件能早日弃用。 另外根据老师的反馈,教师端的成绩录入还存在问题。可是我没有教师端的访问权限,找不到具体问题是什么,希望之后能有机会解决。 有其他问题的话,也欢迎各位留言(我看到会尽力解决的 --- 2023.11.30更新,适配其他学校教务平台方法: 1. 按照安装步骤完成插件安装 2. 点击右上角油猴插件图标,点击管理面板 <img src="https://img.wyy.ink/images/2023/11/29/image-20231129235339727.png" style="zoom:50%;" /> 3. 找到刚刚安装的修复插件,点击右边编辑图标: ![](https://img.wyy.ink/images/2023/11/29/image-20231129235439249.png) ![](https://img.wyy.ink/images/2023/11/29/image-20231129235503315.png) 4. 可以看到第7~10行匹配了四个链接,请按照自己学校的教务平台进行更改,注意不要搞混http和https,不要忘记通配符\*。 例如,东北吃饭大学教务平台的链接为:https://dcjx.neeu.edu.cn 只需要将插件中添加一行match即可: ![](https://img.wyy.ink/images/2023/11/29/image-20231130000055248.png) 5. 如果您使用的平台与我校相同,但不能按上述方法修复,可以尝试阅读上面的修复原理进行修改,也可以留言。 ## QwQ(安装方法) 鉴于很多同学可能不是计算机相关专业的,所以这里写一个比较详细的插件安装方法吧。(可能相比于这个插件,安装一个360浏览器更简单一点,受不了360的可以试试这个插件) 首先确保你是Chrome或者Firefox浏览器,浏览器官方的下载链接在下面,如果不知道怎么安装浏览器的话建议百度一下或者让同学帮个忙qwq。Chrome浏览器安装油猴的时候需要魔法,如果没有魔法或者不知道什么魔法的同学就用Firefox吧( Chrome: https://www.google.cn/chrome/ Firefox: https://www.mozilla.org/zh-CN/firefox/new/ 按照你的浏览器类型选择安装教程: ### Chrome 1. 使用Chrome浏览器访问https://chromewebstore.google.com/?hl=zh-CN ![](https://img.wyy.ink/images/2023/11/28/image-20231128232341430.png) 2. 点右上角搜索,输入“篡改猴”,回车。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128232440124.png) 3. 选择第二个打开,点击添加到Chrome。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128232617449.png) 4. 等一会,安装成功后会弹出一个网页。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128232801021.png) 5. 不用管它,直接点击这个[链接](https://greasyfork.org/zh-CN/scripts/477607-%E4%B8%9C%E5%8C%97%E5%B8%88%E8%8C%83%E5%A4%A7%E5%AD%A6%E6%95%99%E5%8A%A1%E7%B3%BB%E7%BB%9F%E4%BF%AE%E5%A4%8D) ![](https://img.wyy.ink/images/2023/11/28/image-20231128232843637.png) 6. 点击安装此脚本,在弹出的页面中选择安装。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128232942890.png) 7. 安装完成后,直接打开教务系统,你会惊喜地发现,你可以正常使用了! ### Firefox 1. 打开Firefox浏览器,点击右上角一个拼图的图标,然后点击管理扩展: ![](https://img.wyy.ink/images/2023/11/28/image-20231128233311249.png) 2. 点击上方搜索框,输入“tampermonkey”,回车。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128235303811.png) 3. 点击第一个,然后点击添加到Firefox。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128233636211.png) 4. 安装完后,会弹出一个网页,表明安装完成。 ![](https://img.wyy.ink/images/2023/11/28/image-20231128233747934.png) 5. 跳转Chrome方法的第5步 : ) 欢迎各位遇到问题留言! Last modification:December 5, 2023 © Allow specification reprint Like 16 如果觉得我的文章对你有用,请随意赞赏
7 comments
物院校友路过,感谢贡献。
提个小意见,电脑端博客背景透明度太高了,不太方便阅读
谢谢,已经修改了
主动思考,然后动手解决问题挺不错!!
看了下博客好像是21届的学弟,其中算法分享挺多,不过推荐多去看看Linux相关的系统开发,工程类的学习在本科4年也非常重要,需要项目锻炼。博客中有点java 内容,不要局限在java web和简单后台的crud,多去看看优秀的开源项目。
希望本科你能对比较难的工程问题或者算法问题,发起你的挑战。
比如高性能相关的os,database相关的优化,或者网络方面dpdk的一些开发,或者开源中间件的二次开发
好的,我去尝试尝试,谢谢学长!!!
qwq