-
Notifications
You must be signed in to change notification settings - Fork 6
/
zjooc.user.js
76 lines (75 loc) · 2.96 KB
/
zjooc.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// ==UserScript==
// @name ZJOOC自动播放
// @namespace https://github.com/ColdThunder11/ZJOOCAutoPlay
// @version 0.2
// @description ZJOOC自动播放下一课,详细使用需求见附加信息或readme.md
// @author ColdThunder11,00LT00
// @match *://www.zjooc.cn/ucenter/student/course/study/*/plan/detail/*
// @grant none
// @supportURL https://github.com/ColdThunder11/ZJOOCAutoPlay/issues
// ==/UserScript==
(function() {
'use strict';
var startTime=25000;//第一次脚本开始时间(毫秒),在这个时间之前需要确保完成课程选择和课程加载,否则会报错
var playInterval=10000;//课程播放间隔时间(毫秒),在这个时间之前需要确保完成课程加载,否则会报错或者错误跳过
var speedIndex = 0; // 速度,0:4倍速,1:2倍速,2:1.5倍速,3:1.25倍速,4:正常,5:0.5倍速
var muteFlag = true; //是否静音
var nextVideoFunc=function(){
var currentClass=document.getElementsByClassName("el-menu-item is-active")[1];
var nextClass=currentClass.nextSibling;
if(nextClass==null){
currentClass.parentNode.parentNode.nextSibling.childNodes[0].click();
nextClass=currentClass.parentNode.parentNode.nextSibling.childNodes[1].childNodes[1];
}
if(nextClass==null){
alert("所有课程已经学习完毕。");
}
nextClass.click();
playVideoFunc();
}
var playVideoFunc=function(){
var vidf=document.getElementsByTagName("video")[0];
var spd = vidf.parentElement.children[8];
var cbf=vidf.parentNode.childNodes[2];
var playLayerf=cbf.childNodes[0];
/*速度*/
spd.children[speedIndex].click();
/*音量*/
if(muteFlag){
cbf.children[18].click();
}
window.setTimeout(function(){
var vidf=document.getElementsByTagName("video")[0];
var spd = vidf.parentElement.children[8];
var cbf=vidf.parentNode.childNodes[2];
var playLayerf=cbf.childNodes[0];
/*速度*/
spd.children[speedIndex].click();
/*音量*/
if(muteFlag){
cbf.children[18].click();
}
playLayerf.click();
},playInterval);
};
var detectiveFunc=function(){
var vid=document.getElementsByTagName("video")[0];
var cb=vid.parentNode.childNodes[2];
var playLayer=cb.childNodes[0];
var processBar=cb.childNodes[7];
var processText;
processText=processBar.innerText;
var pctime=processText.split('/');
var ctime=pctime[0].trim();
var etime=pctime[1].trim();
if(ctime==etime){
nextVideoFunc();
return;
}
};
var ScritpFunc=function(){
playVideoFunc();
window.setInterval(detectiveFunc,playInterval);
}
window.setTimeout(ScritpFunc,startTime);
})();