🏠 Home 

Greasy Fork is available in English.

实时自动切换课程

当课程进度达到100%时自动切换到下一个课程


安装此脚本?
// ==UserScript==
// @name         实时自动切换课程
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  当课程进度达到100%时自动切换到下一个课程
// @author       You
// @match        https://onlinenew.enetedu.com/gdlnnu/MyTrainCourse/OnlineCourse?coursetype=1*
// @grant        none
// ==/UserScript==
(function() {
'use strict';
// 打印调试信息
function debugLog(message) {
console.log(`[DEBUG] ${message}`);
}
// 查找并返回下一个未完成的课程
function findNextCourse() {
// 查找所有课程项
let courseItems = document.querySelectorAll('.classcenter-chapter2 ul li');
for (let course of courseItems) {
// 获取课程进度文本
let progressText = course.querySelector('span').innerText;
// 如果进度不是100%,返回这个课程的元素
if (!progressText.includes('[100%]')) {
debugLog(`找到未完成的课程: ${progressText}`);
return course;
}
}
debugLog('所有课程都已完成');
return null;
}
// 检查当前课程的进度并切换课程
function checkCourseCompletion() {
let currentCourse = document.querySelector('.classcenter-chapter2 ul li[style*="background-color"]');
let currentCourseProgress = currentCourse ? currentCourse.querySelector('span').innerText : '[0%]';
// 如果当前课程已达到100%,自动切换到下一个课程
if (currentCourseProgress.includes('[100%]')) {
debugLog('当前课程已完成,正在查找下一个课程...');
let nextCourse = findNextCourse();
if (nextCourse) {
debugLog('正在跳转到下一个课程...');
nextCourse.click(); // 模拟点击下一个未完成的课程
} else {
debugLog('没有找到未完成的课程');
}
} else {
debugLog(`当前课程进度: ${currentCourseProgress}`);
}
}
// 定时执行函数,每3min检查一次课程进度
setInterval(() => {
checkCourseCompletion();
}, 18000); // 每5秒检查一次课程进度
})();