前言

博主在校最后一年,出于学校的种种原因,被逼无奈必须在网课智慧树上选够4门课程才能修满学分。看着那每门课程的十几章章节,而且每章节都有很多小节,最短的小节都有5、6分钟。
而且最近智慧树查封作弊行为挺严的:
1.不能多开,就算你一个浏览器两个账号也会说你是多开
2.不能使用第三方软件,否则0分处理
也是出于无聊,和室友闲聊说了句:软件用不了,要不咱们自己改它的样式代码?
于是琢磨了些许时间,看着那个个button按钮,就萌发了用JS来操作代码。

如果不懂代码,可以直接往下滚动查阅智慧树看课脚本的安装教程

JS代码详解

1
2
3
4
5
6
7
8
9
function timeCount()
{
if(document.getElementById('popbox_title')) {
var x = document.getElementsByClassName('popbtn_cancel');
window.clearInterval();
x[0].click();
console.log('关闭窗口');
}
}
这里封装了一个timeCount函数,主要作用是用于判断答题窗口是否创建,如果创建了立马执行关闭按钮的点击事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var time=0;
var divs = document.createElement("div");
divs.id='mybutton';
divs.style.position='fixed';
divs.style.left='300px';
divs.style.top='65px';
divs.style.width='84px';
divs.style.height='84px';
divs.style.backgroundImage="url('https://s1.ax1x.com/2018/04/03/CSbRvn.png')";
divs.onmouseover=function(){
divs.style.transform="rotate(360deg)";
divs.style.transition="all 1.6s";
};

divs.onmouseout=function(){
divs.style.transform="rotate(0deg)";
divs.style.transition="all 1.6s";
};

document.body.appendChild(divs);
这里是用于创建一个divs来方便用户使用

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
divs.onclick=function(){
setTimeout(function(){
console.log('切换到1.5倍');
document.getElementsByClassName('speedTab15')[0].click();
console.log('已静音');
document.getElementsByClassName('volumeIcon')[0].click();
},2000);
if(time===0){
alert('已经启动,可以最小化了');
}else{
console.log('第二次初始化');
}

//视频播放暂停
document.getElementById("vjs_mediaplayer_html5_api").onpause = function() {
console.log('已暂停');
window.setInterval(timeCount(),700);
};

//视频播放结束
document.getElementById("vjs_mediaplayer_html5_api").onended=function(){
console.log('已结束');
setTimeout(function(){
document.getElementById('nextBtn').click();
setTimeout(function(){
time=1;
divs.click();
},5000);
},2500);
};
};
这是当用户点击divs这个logo时的一个点击事件,主要分为三个大的板块
第一个板块代码如下:
1
2
3
4
5
6
setTimeout(function(){
console.log('切换到1.5倍');
document.getElementsByClassName('speedTab15')[0].click();
console.log('已静音');
document.getElementsByClassName('volumeIcon')[0].click();
},2000);
这里用了一个定时器,当用户点击divs按钮2S后开始切换到1.5倍倍速播放(speedTab15是1.5倍倍速按钮的类名),且保持静音(volumeIcon是静音按钮的类名),分别找到他们实现他们各自的click事件

第二个板块代码如下:
1
2
3
4
5
//视频播放暂停
document.getElementById("vjs_mediaplayer_html5_api").onpause = function() {
console.log('已暂停');
window.setInterval(timeCount(),700);
};
vjs_mediaplayer_html5_api是智慧树播放视频的video标签的ID,这个方法主要是监听video视频是否暂停。一般能够暂停页面的,除了无聊的用户之外,只有答题了,我们加了一个快至700ms的定时器,来执行timeCount,从而达到秒关答题窗口

第三个板块代码如下:
1
2
3
4
5
6
7
8
9
10
11
//视频播放结束
document.getElementById("vjs_mediaplayer_html5_api").onended=function(){
console.log('已结束');
setTimeout(function(){
document.getElementById('nextBtn').click();
setTimeout(function(){
time=1;
divs.click();
},5000);
},2500);
};
这个方法是监听视频是否播放结束,如果已经播放结束了,执行下一节按钮的click事件,然后下一节相当于是重新刷新了一次页面,我们也必须再一次后台执行我们的divs的click事件从而达到自动下一节、自动1.5倍播放速度、自动忽略答题、自动静音的效果。

智慧树看课安装教程

第一步:安装插件

在你的浏览器的应用商店中搜索Tampermonkey,博主以QQ浏览器为例

第二步:安装脚本

最后安装博主的脚本链接即可 👉 脚本安装链接

如果有的浏览器下载不了Tampermonkey插件,这里博主也为大家准备了离线版,大家下载下来之后直接拖进浏览器的扩展插件页面即可
👉 Tampermonkey离线下载链接

ps:如果你还满意的话,请留下你宝贵的评论或者投喂我喔~

  • 喜欢这篇文章的话可以用快捷键 Ctrl + D 来收藏本页
× 请我吃糖~
打赏二维码