您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
显示USTC研究生选课人数
// ==UserScript== // @name USTC研究生选课插件 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 显示USTC研究生选课人数 // @author telescopii // @match https://jw.ustc.edu.cn/for-std/course-select/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @license GPL License // ==/UserScript== var oldxhr=window.XMLHttpRequest function newobj(){} window.XMLHttpRequest=function(){ let tagetobk=new newobj(); tagetobk.oldxhr=new oldxhr(); let handle={ get: function(target, prop, receiver) { if(prop==='oldxhr'){ return Reflect.get(target,prop); } if(typeof Reflect.get(target.oldxhr,prop)==='function') { if(Reflect.get(target.oldxhr,prop+'proxy')===undefined) { target.oldxhr[prop+'proxy']=(...funcargs)=> { let result=target.oldxhr[prop].call(target.oldxhr,...funcargs) return result; } } return Reflect.get(target.oldxhr,prop+'proxy') } if(prop.indexOf('response')!==-1) { var courses = Reflect.get(target.oldxhr,prop); if (courses.startsWith("{")) { var courses_json = JSON.parse(courses); console.log(courses_json); var elements = document.getElementsByClassName('sorting_1'); for (var idx = 0;idx < elements.length; idx++){ var element = elements[idx]; var dataId = element.querySelector('button').getAttribute('data-id'); if (dataId in courses_json){ var num_selected = courses_json[dataId]; const siblingElements = element.parentElement.children; // 14 need to be check var limited_num = element.parentElement.children[14].children[0].getAttribute('limit-count'); element.parentElement.children[14].textContent = num_selected + "/"+limited_num; } } } else { console.log("The string does not start with '{'."); } return Reflect.get(target.oldxhr,prop) } return Reflect.get(target.oldxhr,prop); }, set(target, prop, value) { return Reflect.set(target.oldxhr, prop, value); }, has(target, key) { debugger; return Reflect.has(target.oldxhr,key); } } let ret = new Proxy(tagetobk, handle); return ret; }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址