Greasy Fork is available in English.
【临时修复版】青书学堂自动刷课脚本,修复不能自动下一章,增加自动跳过课程简介、教学大纲,青书学堂更新后很多插件都用不了只能自己修复
当前为
// ==UserScript==
// @name 【临时修复版】青书学堂自动刷课
// @namespace http://tampermonkey.net/
// @version 0.3
// @description 【临时修复版】青书学堂自动刷课脚本,修复不能自动下一章,增加自动跳过课程简介、教学大纲,青书学堂更新后很多插件都用不了只能自己修复
// @author xuzifeng
// @match *://*.qingshuxuetang.com/*
// @grant none
// @license GPL
// ==/UserScript==
(function() {
'use strict';
var i
var href = location.href
if (href.indexOf('nodeId') > -1) {
var params = new UrlSearch()
const courseArr = params.nodeId.split('jbxx')
console.log('当前地址:',courseArr);
// 跳过基本信息页(课程介绍、教学大纲)直接进入课程讲授
if (courseArr.length == 2) {
//视频第一页
const kcjs = `kcjs_1_1`
//拼接地址
const Url = `https://${window.location.host}${window.location.pathname}?teachPlanId=${params.teachPlanId}&periodId=${params.periodId}&courseId=${params.courseId}&nodeId=${kcjs}`
location.replace(Url);
}
setTimeout(function() {
var video = document.getElementsByTagName("video")[0]
console.log('找到视频组件,开始静音并自动播放...', video)
var params = new UrlSearch()
// 课程ID
var courseId = params.courseId
const courseArr = params.nodeId.split('_')
// 播放的视频的key
var nextKey = ''
// 非播放页面转到播放页
if(video ===undefined){
console.log('找不到视频组件', video)
nextKey = `kcjs_${Number(courseArr[1]) + 1}_1`
//拼接地址
const Url = `https://${window.location.host}${window.location.pathname}?teachPlanId=${params.teachPlanId}&periodId=${params.periodId}&courseId=${params.courseId}&nodeId=${nextKey}`
location.replace(Url);
}
//设置播放进度为0
video.currentTime = 0
// 设置静音并播放
video.muted = true
// 设置倍速播放 支持以下速率: [2, 1.5, 1.2, 0.5] ;默认开启 如有问题请手动注释下面这行代码;或者邮箱反馈我
video.playbackRate = 0.5
video.play()
//正常播放
if (courseArr.length == 3) {
nextKey = `kcjs_${courseArr[1]}_${Number(courseArr[2]) + 1}`
console.log('下一页:',nextKey);
}
const nextUrl = `https://${window.location.host}${window.location.pathname}?teachPlanId=${params.teachPlanId}&periodId=${params.periodId}&courseId=${courseId}&nodeId=${nextKey}`
console.log(params, 'currentId:', params.nodeId, 'nextKey:', nextKey, 'nextUrl:', nextUrl)
// 视频播放结束,自动下一条视频
video.addEventListener("ended",function(){
location.replace(nextUrl);
})
}, 5000)
// 打印播放进度
getvideoprogress();
}
})();
function UrlSearch() {
var name,value;
var str=location.href; //取得整个地址栏
console.log('当前整个地址:',str);
var num=str.indexOf("?")
str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ]
var arr=str.split("&"); //各个参数放到数组里
for(var i=0;i < arr.length;i++){
num=arr[i].indexOf("=");
if(num>0){
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[name]=value;
}
}
}
// 检测当前播放的进度
function getvideoprogress() {
setInterval(function () {
var vid = document.getElementsByTagName("video")[0]
var currentTime=vid.currentTime.toFixed(1);
console.log('当前进度:', currentTime);
}, 10000);
}