您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
跳过挂机判断,自动续播,列表播放完毕自动关闭当前标签页
// ==UserScript== // @name 宝武微学苑挂机脚本 // @namespace http://tampermonkey.net/ // @version 0.5 // @description 跳过挂机判断,自动续播,列表播放完毕自动关闭当前标签页 // @author SpaceJJ // @match http://mooc.baosteel.com/* // @icon https://www.google.com/s2/favicons?domain=baosteel.com // @grant GM_log // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest // @grant GM_deleteValue // @license MIT // ==/UserScript== // 自动点击下一节 (function () { // 定时器自动确认(每两分钟自动检测一次) var autoConfirm = setInterval(() => { // 判断是否下一节按钮 if (document.getElementsByClassName('ant-btn ant-btn-primary ant-btn-lg')[0]) { // 模拟点击 console.log("自动确认"); document.getElementsByClassName('ant-btn ant-btn-primary ant-btn-lg')[0].click(); } },120000 ) var pageOfVideo = 0;//检测页面是否为视频播放页面,默认为否 var count = 0;//超时次数统计 setTimeout(function a(){ if(!document.getElementsByTagName('video')[0]){ count ++; if(count >=12){//超时:2min内没找到视频对象,如果是视频播放页则刷新,如果是其他页面则无后续log if(pageOfVideo!=0){//视频播放页 window.location.reload();//刷新 } else{ a();//继续设置定时器,但不log日志 } } else{//未超时 console.log("未找到视频!"+count); setTimeout(() => { console.log("重新获取视频对象"); a(); },5000); } } else{ count = 0;//超时定时器归零 pageOfVideo = 1;//当有视频对象时,设置为视频播放页 var vid = document.getElementsByTagName('video')[0]; var videoChange = setInterval(() => { // 判断当前视频是否切换 if (document.getElementsByTagName('video')[0] != vid ) { // 切换视频重新获得视频对象 console.log("视频切换,重置定时器"); clearInterval(videoChange); clearInterval(netstat); a(); } }, 1000) var netstat = setInterval(() => {//每分钟检测一次 // 判断当前视频的网络状态,如果不正常则刷新 if (document.getElementsByTagName('video')[0].networkState != 1) { // 切换视频重新获得视频对象 console.log("视频播放网络异常"); window.location.reload();//刷新 } }, 60000) console.log("视频正常播放,定时启动"); vid.addEventListener('ended',function(){ //视频播放完的事件 //这里触发点击事件 console.log("播放完毕"); //清除定时器 clearInterval(videoChange); clearInterval(netstat); //延迟点击下一节 setTimeout(() => { if(document.getElementsByClassName('go-survey')[0]){ //延迟执行关闭脚本,否则关闭太快被视为未完成当前视频的学习 setTimeout(() => { window.close(); },10000); } else{ document.getElementsByClassName('go-next')[3].click(); console.log("点击下一节"); setTimeout(() => { a(); },5000); } },2000); }); } },3000); })();