// ==UserScript== // @name UESTC学分查看辅助2 // @namespace http://tampermonkey.net/ // @version 0.11 // @description 本脚本旨在方便学生计划自己的学分。 // @description 只在“课程管理->我的计划中生效”。 // @description 灰色斜体字:已经修过并拿到学分的科目 // @description 黄色背景:本学期正在学习的科目 // @description 绿色背景:下学期可选科目 // @description P.S: 本脚本以每年的2月1日和8月1日作为学期的分界线。 // @author RobinEatCorn // @match http://eams.uestc.edu.cn/eams/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/386403/UESTC%E5%AD%A6%E5%88%86%E6%9F%A5%E7%9C%8B%E8%BE%85%E5%8A%A92.user.js // @updateURL https://update.greasyfork.icu/scripts/386403/UESTC%E5%AD%A6%E5%88%86%E6%9F%A5%E7%9C%8B%E8%BE%85%E5%8A%A92.meta.js // ==/UserScript== function compareArrays(a,b){ if(a.length!=b.length)return false; for(let i=0;i{ if(XHR_ids.readyState==4&&XHR_ids.status==200){ res=XHR_ids.response; var stt=res.indexOf("form,\"ids\",")+12; var ed=stt; while("0"<=res[ed]&&res[ed]<="9")ed++; ids=Number(res.substr(stt,ed-stt)); console.log(`Get ids=${ids}`); checkSemester(0,processCheck,[]); } } XHR_ids.open("GET","/eams/courseTableForStd.action",true); XHR_ids.send(); } function compareArrays(a,b){ if(a.length!=b.length)return false; for(let i=0;i8); var nextSemester=currentSemester+1; if(nextSemester<8){ var table=document.getElementsByTagName("table")[3+2*nextSemester]; var trs=table.getElementsByTagName("tr"); for(let i=0;i{console.log("Done");}); XHR.addEventListener("error",()=>{alert("Error");}); XHR.onreadystatechange=()=>{ if(XHR.readyState==4&&XHR.status==200){ var parser=new DOMParser(); doc=parser.parseFromString(XHR.response,"text/html"); var tbd=doc.getElementsByTagName("tbody")[1]; trs=tbd.getElementsByTagName("tr"); if(trs.length<=1){callback(s,currentCourses,latch);return;} for(let i=0;i{ if(xhttp.readyState==4&&xhttp.status==200){ //处理xhttp带来的网页 var parser=new DOMParser(); doc=parser.parseFromString(xhttp.response,"text/html"); var tds=doc.getElementsByTagName("td"); for(let i=63;i1){ coursesName.push(tds[i].innerText); var smst=Number(tds[i].previousElementSibling.innerText); currentSemester=(smst>currentSemester)?smst:currentSemester; //console.log(tds[i]); } } currentSemester++; //匹配课程 if(courses.length==0){ courses=document.getElementsByClassName("course"); } for(let i=0;i{ setTimeout(checkAndProcess,1000); }); window.onload=()=>{ setTimeout(checkAndProcess,1000); } })();