[Tampermonkey]校本网课课时自刷脚本
校本网课限制还是比较少的,只要在播放页面停留足够多的事件即可;利用Tampermonkey在播放页面插入JS控制vedio的src,播放一个超长视频即可快速完成网课课时累计。
// ==UserScript==
// @name 校本刷课
// @namespace https://rmbz.net/
// @version 0.1
// @description 校本刷课课时
// @author xun404
// @match https://xxx.com/course/view/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var showModal = false;
var questionModal = false;
// 监听弹出层(随机弹出会暂停视频 本意是方式挂机刷课)
$('#comfirmModal').on('show.bs.modal', function (e) {
showModal = true;
})
// 同上,但是是个答题的弹出层
$('#questionModal').on('show.bs.modal', function (e) {
questionModal = true;
})
// Promise实现的sleep方法
function sleep (time) {
return new Promise((resolve) => setTimeout(resolve, time));
}
function autoPlay() {
// 每5秒执行一次
sleep(5000).then(() => {
// 原站用的ckplayer,h5中对应video标签
var video = document.getElementsByTagName("video")[0];
// 判断是否为这个播放地址
var videoUrl = video.src;
if(videoUrl.length != 25) {
video.src = 'https://cdn.neu.ren/2.mp4';
console.log('set player src!');
}
//自动播放
video.play();
console.log('auto play!');
autoPlay();
// 处理弹出层,直接click .yes
if(showModal) {
showModal = false;
$('.yes').click();
console.log('click yes!');
}
// 处理弹出层,直接click #p-A
if(questionModal) {
questionModal = false;
$('#p-A').click();
console.log('question click yes!');
}
})
}
autoPlay();
})();