您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
云学堂视频播放 文档浏览
当前为
// ==UserScript== // @name 云学堂全自动刷视频 yunxuetang.cn // @namespace zhou__jianlei // @version 0.9 // @description 云学堂视频播放 文档浏览 // @author zhou__jianlei // @icon https://picobd.yxt.com/orgs/yxt_malladmin/mvcpic/image/201811/71672740d9524c53ac3d60b6a4123bca.png // @match http*://*.yunxuetang.cn/plan/*.html // @match http*://*.yunxuetang.cn/kng/*/document/* // @match http*://*.yunxuetang.cn/kng/*/video/* // @match http*://*.yunxuetang.cn/kng/plan/package/* // @match http*://*.yunxuetang.cn/kng/view/package/* // @match http*://*.yunxuetang.cn/kng/course/package/video/* // @match http*://*.yunxuetang.cn/kng/course/package/document/* // @match http*://*.yunxuetang.cn/sty/index.htm // @match http*://*.yunxuetang.cn/exam/test/examquestionpreview.htm* // @match http*://*.yunxuetang.cn/exam/test/userexam.htm* // @grant GM_xmlhttpRequest // @grant unsafeWindow // @connect answer.com // @connect zhoumo.tech // @require https://cdn.bootcdn.net/ajax/libs/blueimp-md5/2.18.0/js/md5.min.js // ==/UserScript== (function () { const path = window.location.pathname; const date = new Date(); const host = 'http://answer.zhoumo.tech'; //任务列表页 if (path.match(/^\/plan.*/g)) { console.log('任务列表页...'); let i = 0; $('.hand > td').each(function (index, item) { if ((index + 1) % 4 == 0) { const text = $(item).children('.text-grey').eq(1).text(); console.log('任务' + (++i) + ', 播放进度:' + text); if (text.includes('%') && text !== '100%') { console.log('点击这个未播放完成的'); window.setTimeout(function () { const str = $(item).parent('.hand').attr('onclick') + ''; let arr = str.split("'"); console.info(arr[1]); window.open(arr[1], '_self'); }, 10 * 1000); return false; } } }); } else if (path.match(/^\/kng\/.*\/document.*/g) || path.match(/^\/kng\/course\/package\/document.*/g)) { //文档页 console.log('文档页准备就绪...'); window.setInterval(function () { //检测在线 detectionOnline(); //防作弊 checkMoreOpen(); //完成度检测 detectionComplete(); }, 30 * 1000); } else if (path.match(/^\/kng\/.*\/video.*/g) || path.match(/^\/kng\/course\/package\/video.*/g)) { //视频页 console.log('视频页准备就绪...'); //每30秒检测一次 window.setInterval(function () { //检测在线 detectionOnline(); //防作弊 checkMoreOpen(); //检测播放状态 detectPlaybackStatus(); //完成度检测 detectionComplete(); }, 30 * 1000); } else if (path.match(/^\/kng\/\w*\/package.*/g)) { // 3秒后点击开始学习按钮 layer.msg('3秒后开始学习'); window.setTimeout(function () { $('#btnStartStudy').click(); }, 3 * 1000) } else if (path.match(/^\/sty.*/g)) { console.log('学习任务签到'); signdata(); } else if (path.match(/^\/exam\/test\/examquestionpreview.*/g)) { //查看试卷答案 采集试题 //试卷 var exam = {}; exam.host = window.location.host; exam.exam_name = $('#lblExamName').text(); //试题集 var questions = []; $('.exam-subject-box').each(function (index, item) { //试题 var question = {}; //问题 var question_stem = $(item).find('.exam-vignette-con').text(); question.question = question_stem; console.log('问题:',question_stem);//签署完的纸质文件需邮寄到()存档。 //正确答案 var rightanswer = $.trim($(item).find('.rightanswer').text()); console.log('正确答案:', rightanswer);//正确答案:B //没有正确答案 获取提交答案 if(rightanswer == '正确答案:不允许查看正确答案'){ var submitanswer = $.trim($(item).find('.rightanswer').prev().text()); console.log('提交答案:', submitanswer); var icon_class_arr = $(item).find('.rightanswer').prev().find('span').eq(1).attr('class').split(' '); if($.inArray('exam-icon-correct', icon_class_arr) != -1){ console.log('答对了 记录一下'); rightanswer = submitanswer; } } //截取答案字符串 var answer_str = rightanswer.substring(rightanswer.indexOf(":") + 1); //console.log(answer_str); var answer_arr = answer_str.split('、'); //console.log(answer_arr); //答案集合 var answers = []; //遍历所有选项 $(item).find('.mt5').each(function (i, mt) { var serial_number = $(mt).find('h3').text().substring(0, 1); if ($.inArray(serial_number, answer_arr) != -1) { //console.log($(mt).find('.mw97').text()); answers.push($(mt).find('.mw97').text()); } }) question.answer = answers; //存本地 var key = md5(question_stem); console.log(question_stem, key); localStorage.setItem(key,JSON.stringify(answers)); questions.push(question); }) exam.questions = questions; //console.info(JSON.stringify(exam)); const store_url = host + '/api/test/store'; GM_xmlhttpRequest({ method: "post", url: store_url, data: JSON.stringify(exam), headers: { "Content-Type": "application/json", }, onload: function (res) { if (res.status === 200) { console.log('成功') console.log(res.response) } else { console.log('失败') console.log(res) } } }); } else if (path.match(/^\/exam\/test\/userexam.*/g)) { //试题后添加按钮 $('li[name="li_Question"]').each(function (index, item) { $(item).find('.row').find('.col-18').eq(0).append('<a href="javascript:void(0);" class="itemBtn"> 参考 </a>') }) } else { } //点击调用方法 获取答案 $(document).on("click", ".itemBtn", function (event) { const question = $(event.currentTarget).parent().eq(0).children('div').text().trim() || $(event.currentTarget).parent().eq(0).contents().eq(0).text().trim(); console.log("question", question); layer.msg(getAnswer(question)); }); function getAnswer(question){ //获取host,exam_name,question, var data = {}; data.host = window.location.host; data.exam_name = $('#lblExamName').text(); data.question = question; //获取答案 const get_answer_url = host + '/api/test/getAnswer'; var answer='emmm~, 祝好运!!'; var item = localStorage.getItem(md5(question)) if(item){ var response = eval("'" + item + "'"); console.log(JSON.parse(response).join("\n")); return JSON.parse(response).join('<br/>'); } console.log("查服务端数据!"); GM_xmlhttpRequest({ method: "post", url: get_answer_url, data: JSON.stringify(data),//{"host":"zqyl.yunxuetang.cn","exam_name":"云信标准化流程","question":"签署完的纸质文件需邮寄到()存档。"} headers: { "Content-Type": "application/json", }, onload: function (res) { if (res.status === 200) { var response = eval("'" + res.response + "'"); console.log(JSON.parse(response).join("\n")); answer = JSON.parse(response).join('<br/>'); } else { console.log(res); } } }); return answer; } //检测多开弹窗 function checkMoreOpen() { console.debug('检测多开弹窗'); if ($("#dvSingleTrack").length) { console.log("防止多开作弊 弹窗"); StartCurStudy(); } } //在线检测 function detectionOnline() { const date = new Date(); const dom = document.getElementById("dvWarningView"); console.info(date.toLocaleString() + ' 检测是否有弹窗...'); if (dom) { console.debug('弹窗出来了'); const cont = dom.getElementsByClassName("playgooncontent")[0].innerText; if (cont.indexOf("请不要走开喔") != -1) { document.getElementsByClassName("btnok")[1].click(); } else { //没遇到过这种情况 不能处理了 返回上一级 console.error('没遇到过这种情况 不能处理了, 弹窗内容:' + cont); window.setTimeout(function () { //刷新当前页吧 window.location.reload(); }, 5 * 1000) } } } //检测完成(进度100%) function detectionComplete() { const percentage = $('#ScheduleText').text(); console.log('进度百分比: ' + percentage); if (percentage == '100%') { //返回上一级 GoBack(); } } //检测播放状态 function detectPlaybackStatus() { const date = new Date(); console.info(date.toLocaleString() + ' 检测播放状态...') if (myPlayer.getState() == 'playing') { console.log("播放中...啥也不操作了"); } else if (myPlayer.getState() == 'paused') { //暂停 console.log("暂停啦!!!"); myPlayer.play(); console.log("开始播放~"); } else if (myPlayer.getState() == 'complete') { console.log($('#lblTitle').text() + "播放完成!!!"); //返回上一级 GoBack(); } } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址