[Tampermonkey]校本網課課時自刷腳本
校本網課限制還是比較少的,只要在播放頁面停留足夠多的事件即可;利用Tampermonkey在播放頁面插入JS控制vedio的src,播放一個超長視頻即可快速完成網課課時累計。
// ==UserScript==
// @name 校本刷課
// @namespace http://m.esgd.net.cn/
// @version 0.1
// @description 校本刷課課時
// @author xun404
// @match https://xxx.com/course/view/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var showModal = false;
var questionModal = false;
// 監(jiān)聽彈出層(隨機彈出會暫停視頻 本意是方式掛機刷課)
$('#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秒執(zhí)行一次
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();
})();