// ==UserScript== // @name 我就是积极分子 // @namespace laoxin.top // @version 2.2.2 // @description 西南石油大学入党积极分子网课自动播放 // @author 老新 // @match http://rdjy.swpu.edu.cn/jjfz/lesson/* // @grant unsafeWindow // @require https://cdn.bootcdn.net/ajax/libs/jquery/2.0.0/jquery.js // @downloadURL none // ==/UserScript== let settings = { // 1表示开启,0表示关闭 // 视频播放相关 video: 1, // 视频弹窗自动关闭,默认开启 jump: 1, // 自动切换下一个视频任务点,默认开启(需要开启视频弹窗自动关闭) back: 1, // 視頻播放完成自動回到章節列表,默认关闭(需要开启自动切换到下一个任务点) class: 1, // 自动切换到未播放的章节,默认关闭(需要开启視頻播放完成自動回到章節列表) // 章节测试相关 copy: 1 // 允许右键复制,开启右键菜单,默认开启 }, _self = unsafeWindow, url = location.pathname, classLists = [], videoLists = []; let $$ = top.jQuery; if (url == "/jjfz/lesson/video" && settings.class) { let passNum = 0; let cl = setInterval(() => { getClassList(); passNum = $$(".lesson_pass").length; if (classLists.length) { jumpToVideoFromClass(passNum) } if (classLists.length) clearInterval(cl); }, 1000); } if (url == "/jjfz/lesson/play" && settings.video) { playVideo(); let nextVideoFlag = false, nextClassFlag = false; let vp = setInterval(() => { if (!videoLists.length) { getVideoList(); } nextVideoFlag = closeAlert(); if (settings.jump) { nextClassFlag = jumpToVideo(videoLists); if (nextVideoFlag) nextClassFlag = nextVideo(videoLists); } if (settings.back) { if (nextClassFlag) goBack(); } }, 1000) } if (url == "/jjfz/lesson/exam" && settings.copy) { openCopy() } function getClassList() { let classList = [] if ($$(".l_list_right")) { $$(".l_list_right").each((ind, ele) => { if ($$(ele).find("div .r_read").text() == " 必 修 ") { classList.push($$(ele).find("h2 a")) } }) } classLists = classList; } function getVideoList() { if ($$(".video_lists li").length) { console.log("当前视频" + $$(".video_red1").text()) videoLists = $$(".video_lists li"); } } function jumpToVideoFromClass(passNum) { if (passNum != classLists.length) { $$(classLists[passNum]).attr('id', 'aRemoveAllTxt'); document.getElementById("aRemoveAllTxt").click(); } } function closeAlert() { if ($$(".public_submit").length) { //console.log("视频数量" + $$(".video_lists li")) let text = $$(".public_text").text(); if (text.indexOf("当前视频播放完毕") >= 0) { return true; } else if (text.indexOf("该课程视频你上次观看到") >= 0) { $$(".public_cancel").attr('id', 'aRemoveAllTxt'); document.getElementById("aRemoveAllTxt").click(); return false; } else { $$(".public_submit").attr('id', 'aRemoveAllTxt'); document.getElementById("aRemoveAllTxt").click(); return false; } } } function nextVideo(videoList) { let index = $$(videoList).index($$(".video_red1")); if (videoList[index + 1]) { $$(videoList[index + 1]).children("a").attr('id', 'aRemoveAllTxt'); document.getElementById("aRemoveAllTxt").click(); return false; } else { return true; } } function jumpToVideo(videoList) { if ($$(".video_red1").find("a").attr("style") == "width:70%;color:red") { let index = $$(videoList).index($$(".video_red1")); if (videoList[index + 1]) { $$(videoList[index + 1]).children("a").attr('id', 'aRemoveAllTxt'); document.getElementById("aRemoveAllTxt").click(); } else { return true; } } } function goBack() { $$(".video_goback").attr('id', 'aRemoveAllTxt'); document.getElementById("aRemoveAllTxt").click(); } function playVideo() { _self.studyTime = function () { var diff_time = 5000; $.ajax({ type: "POST", cache: false, dataType: "json", url: "/jjfz/lesson/study_time", data: { rid: "630089", study_time: diff_time, _xsrf: $(":input[name='_xsrf']").val() }, success: function () { } }); flag = setTimeout("studyTime()", diff_time); } _self.players[0].on('pause', function (event) { if ($$(".public_submit").length) { } else _self.players[0].play(); }); } function openCopy() { $$(document).ready(new function () { document.oncontextmenu = new Function("event.returnValue=true"); document.onselectstart = new Function("event.returnValue=true"); document.oncopy = new Function("return true") $$(".answer_list").after("