学习通浏览器刷课脚本
时间:2024-05-02 10:25:42 来源:网络cs 作者:峨乐 栏目:跨境学堂 阅读:
阅读本书更多章节>>>>
学习通刷课太痛苦?试试这个Js脚本
/** * 本脚本用于学习通自动刷课,仅做学习用途 * 转发请注明作者以及来源 *//**定义全局变量 */var array_echelon;//顺序执行梯队/**定义事件 */let dealEvent = new Event("redeal", { bubbles: false, cancelable: false });/**监听事件 */document.addEventListener("redeal", function () { dealAnsEchelon(array_echelon);});/**初始化 */function initAll() { console.log("获取当前页面任务中···"); var ansiframe = window.frames["iframe"].contentWindow.document;//获取任务iframe var array_ans = ansiframe.querySelectorAll(".ans-attach-ct");//获取任务数组 var array_type = getiframesType(array_ans);//获取任务属性 var array_document = getAlliframesdocument(array_ans);//获取任务数组的document array_echelon = distributeAns(array_type, array_document);//获取顺序执行的任务的梯队 console.log("当前页面任务数量为:" + array_echelon.length); /**释放内存 */ ansiframe = null; array_ans = null; array_type = null; array_document = null;}/**工具函数 *///获取任务属性function getiframesType(array_ans) { var array_iframe_type = new Array(); for (let ans of array_ans) { var jsonstr = ans.querySelector("iframe").getAttribute("data"); var json = JSON.parse(jsonstr); array_iframe_type.push(json.type); } return array_iframe_type;}//获取任务documentfunction getAlliframesdocument(array_ans) { var array_ans_iframe_document = new Array(); for (let ans of array_ans) { array_ans_iframe_document.push(ans.querySelector("iframe").contentWindow.document); } return array_ans_iframe_document;}//搭配document以及相应的执行函数function joinAns(idocument, handler) { var array_temp = new Array(); array_temp.push(idocument, handler); return array_temp;}//按任务属性分配执行函数function distributeAns(array_type, array_document) { var array_iframe_echelon = new Array(); array_type.forEach((type, index) => { switch (type) { case ".mp4": { array_iframe_echelon.push(joinAns(array_document[index], videoHandler)); break; } case ".wmv": { array_iframe_echelon.push(joinAns(array_document[index], videoHandler)); break; } case ".avi": { array_iframe_echelon.push(joinAns(array_document[index], videoHandler)); break; } case ".mkv": { array_iframe_echelon.push(joinAns(array_document[index], videoHandler)); break; } case ".pptx": { array_iframe_echelon.push(joinAns(array_document[index], pptxHandler)); break; } case ".pdf": { array_iframe_echelon.push(joinAns(array_document[index], pptxHandler)); break; } case ".ppt": { array_iframe_echelon.push(joinAns(array_document[index], pptxHandler)); break; } case ".mp3": { array_iframe_echelon.push(joinAns(array_document[index], audioHandler)); break; } case ".wav": { array_iframe_echelon.push(joinAns(array_document[index], audioHandler)); break; } default: { array_iframe_echelon.push(joinAns(array_document[index], ignoreAns)); break; } } }); return array_iframe_echelon;}//处理单个任务function dealSingleAns(singleans) { singleans[1](singleans[0]);}/**执行函数 *///直接跳过function skipChapter() { console.log("跳过章节"); var chapter_next = document.querySelector("#prevNextFocusNext"); chapter_next.click(); setTimeout(function () { var tip = document.querySelector(".maskDiv.jobFinishTip.maskFadeOut"); if (tip != null) { var tip_nextChapter = document.querySelector(".jb_btn.jb_btn_92.fr.fs14.nextChapter"); tip_nextChapter.click(); } setTimeout(() => { initAll(); dealAnsEchelon(array_echelon); }, 5000); }, 2000);}//忽略任务function ignoreAns() { console.log("无法处理,忽略任务"); setTimeout(() => { document.dispatchEvent(dealEvent); }, 1500);}//处理视频function videoHandler(idocument) { console.log("处理视频任务中···"); var video = idocument.querySelector("video"); var video_play = idocument.querySelector(".vjs-big-play-button"); var video_doublespeed = idocument.querySelector(".vjs-menu-item"); video_play.click(); video_doublespeed.click(); video.addEventListener("ended", function () { document.dispatchEvent(dealEvent); }, { once: true });}//处理ppt&pdffunction pptxHandler(idocument) { console.log("处理PPT任务中···"); var sdocument = idocument.querySelector("iframe").contentWindow.document; var currentHeight = 0; var finalHeight = sdocument.documentElement.scrollHeight; var timer = setInterval(function () { if (currentHeight >= finalHeight) { clearInterval(timer); document.dispatchEvent(dealEvent); return; } currentHeight += 400; sdocument.defaultView.scrollTo(0, currentHeight); }, 1000);}//处理音频function audioHandler(idocument) { console.log("处理音频任务中···"); var audio = idocument.querySelector("audio"); var audio_play = idocument.querySelector(".vjs-play-control.vjs-control.vjs-button"); audio_play.click(); audio.addEventListener("ended", function () { document.dispatchEvent(dealEvent); }, { once: true });}/**任务梯队顺序处理 */function dealAnsEchelon(array_echelon) { console.log("待处理任务数量为:" + array_echelon.length); if (array_echelon.length != 0) { dealSingleAns(array_echelon[0]); array_echelon.shift(); return; } skipChapter();}/**执行代码 */initAll();dealAnsEchelon(array_echelon);
代码基本都给了注释,目前没发现Bug
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/xuetang/2024-05-02/164207.html,文章来源:网络cs,作者:峨乐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
上一篇:AI+游戏线下沙龙活动暨COC上海城市开发者社区8月活动
下一篇:返回列表