脚本
学习网站:呼伦贝尔市专业技术人员继续教育在线学习平台-地区列表 hlbe.chinahrt.cn/area.asp?platid=17
脚本地址:呼伦贝尔市专业技术人员继续教育在线学习平台-刷课脚本
教程
1.插件安装(以Microsoft Edge浏览器为例)
打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以
点击屏幕右上角三个点,图示位置,然后点击扩展
点击获取扩展
搜索Tampermonkey,并点击获取那个绿色的小猴子(篡改猴 - Microsoft Edge Addons)
到这里,你的油猴就已经装好啦!同时你可以看见你的浏览器上面多了个黑色图标。
那么接下来教大家安装脚本。
在这个浏览器上打开呼伦贝尔市专业技术人员继续教育在线学习平台-刷课脚本,进入后点击安装脚本,安装完成刷新你学习网页就可以愉快使用了。
更多
关键代码分享:
(function() {
'use strict';
// 获取当前页面的URL
var href = location.href;
// 定义一个函数来处理视频播放逻辑
function handleVideoPlayback() {
var videoList; // 存储视频列表的变量
var currentVideo; // 当前播放的视频节点
// 检查URL中是否包含特定的视频播放路径
if (href.indexOf("home/learning/play/id/") !== -1) {
// 获取视频列表元素
videoList = document.getElementsByClassName("mulu")[0];
// 遍历视频列表,找到当前播放的视频
for (var i = 0; i < videoList.getElementsByTagName("li").length; i++) {
var listItem = videoList.getElementsByTagName("li")[i];
// 检查列表项中是否包含特定的颜色代码,标识当前播放的视频
if (listItem.innerHTML.indexOf("029AFF") !== -1) {
currentVideo = listItem;
break;
}
}
// 如果找到了当前视频,检查是否播放结束
if (currentVideo && checkPlaybackEnded(currentVideo)) {
// 播放下一节视频
playNextVideo(videoList, currentVideo);
}
}
}
// 检查视频是否播放结束
function checkPlaybackEnded(videoNode) {
var rateElement = videoNode.getElementsByClassName("rate")[0];
return rateElement.innerText.indexOf("100") !== -1;
}
// 播放下一个视频
function playNextVideo(videoList, currentVideo) {
var nextVideoLink = videoList.getElementsByTagName("li")[currentVideoIndex + 1].getElementsByTagName("a")[0];
if (nextVideoLink) {
nextVideoLink.click();
} else {
console.error("No next video available.");
}
}
// 启动视频播放处理
handleVideoPlayback();
var i
var href = location.href
if(href.indexOf("sectionid=")!=-1){
//获取当前课件
var current = document.getElementsByClassName("act")[0].innerText
//是文本的话直接跳到下一个课件
if(current.indexOf("文本")!=-1){
for(i = 0; i < document.getElementsByTagName("li").length; i++){
if(document.getElementsByTagName("li")[i].className == "act"){
document.getElementsByTagName("li")[i+1].click()
break;
}
}
}
//是视频的话就播放
if(current.indexOf("视频")!=-1){
var video = document.getElementsByTagName("video")[0]
video.click()
//播放完成后自动下一课件
setInterval(function(){
if(video.ended){
for(var i = 0; i < document.getElementsByTagName("li").length; i++){
if(document.getElementsByTagName("li")[i].className == "act"){
document.getElementsByTagName("li")[i+1].click()
break;
}
}
}
},5000)
}
}
setInterval(function(){
var frame = document.getElementsByTagName("iframe")[0].contentWindow.document
var end_state = frame.getElementById("lessonStatus").value
if(end_state == "completed"){
var lists = document.getElementsByTagName("td")
var current
for(var i = 0; i < lists.length; i++){
if(lists[i].className=="couBg"){
current = i
}
}
lists[current+1].getElementsByTagName("a")[0].click()
}
},2000)
if(href.indexOf("Learning/Index/") != -1){
//根据进度判断是否需要进入课程页面
for (i = 0; i < document.getElementsByClassName("td004").length; i++){
if(document.getElementsByClassName("td004")[i].innerText!="100%"){
document.getElementsByClassName("td005")[i].getElementsByTagName("a")[0].click()
}
}
}
if(href.indexOf("Learning/OnLineListen") != -1){
//根据已学时长和总时长来判断是否需要听课
for(i = 0; i < document.getElementsByClassName("td00a").length; i++){
var total_time = makeDurationToSeconds(document.getElementsByClassName("td00a")[i].getElementsByClassName("td003")[1].innerText)
var learned_time = makeDurationToSeconds(document.getElementsByClassName("td00a")[i].getElementsByClassName("td003")[2].innerText)
console.log(total_time,learned_time)
if(learned_time < total_time){
document.getElementsByClassName("td00a")[i].getElementsByClassName("td008")[0].getElementsByTagName("a")[0].click()
break;
}
}
}
//将格式化时间转换秒
function makeDurationToSeconds(time){
var str = time;
var arr = str.split(':');
var hs = parseInt(arr[0]*3600);
var ms = parseInt(arr[1]*60);
var ss = parseInt(arr[2]);
var seconds = hs + ms + ss;
return seconds;
}
window.setTimeout(function () {
var s = GM_getValue("string")
//console.log(s)
//console.log(typeof(s))
lists = s.split('-')
console.log(lists)
setInterval(function () {
//判断是否需要 跳转到下一节
var current_course
var current_medId
if (learnMediaTime >= mediaTime) {
// current_course = lists.shift()
// current_medId = current_course.split("&medId=")[1]
// while (current_course.indexOf("medId") == -1 || current_medId <= window.location.href.split("&medId=")[1]) {
// current_course = lists.shift()
// current_medId = current_course.split("&medId=")[1]
// }
var now_id = window.location.href.split("&medId=")[1]
var index
for (var i = 0; i < lists.length; i++) {
if (lists[i].indexOf("medId=" + now_id) != -1) {
//确保下一节是课程,而不是章节链接
if (lists[i + 1].indexOf("medId=") != -1) {
window.location.href = "http://xy.59iedu.com" + lists[i+1];
} else {
window.location.href = "http://xy.59iedu.com" + lists[i+3];
}
}
}
}
}, 2000)
}, 4000);
})();
标签:视频,getElementsByClassName,getElementsByTagName,JavaScript,current,var,呼伦贝尔市,刷课,d
From: https://www.cnblogs.com/tuziang/p/18391811