// ==UserScript==
// @name 学起plus自动下一集-图文秒切
// @namespace https://cjlzulms.sccchina.net/
// @version 7.0
// @description 图文活动立即跳转,视频活动播放完自动下一集
// @author Clefairy
// @match https://cjlzulms.sccchina.net/venus/*
// @grant none
// @run-at document-end
// ==/UserScript==
(() => {
'use strict';
const log = (...a) => console.log('[AutoNext]', ...a);
let done = false; // 本活动只处理一次
function main() {
if (done) return;
const curLi = document.querySelector('li.cur h3');
if (!curLi) return; // 目录还没渲染,稍后再试
const isVideo = curLi.getAttribute('onclick')?.includes("beginStudy('1'");
done = true; // 锁定,防止重复
if (isVideo) {
waitVideoEnded();
} else {
log('图文活动,2 秒后自动下一集');
setTimeout(() => doNext(), 2000);
}
}
/* ---------- 视频活动:等 ended ---------- */
function waitVideoEnded() {
const tik = setInterval(() => {
const player = window.eduplayer?.getPlayer('video');
if (!player || player.isDisposed?.()) return;
clearInterval(tik);
log('视频活动,等待播放结束');
player.one('ended', () => {
log('视频 ended,2 秒后下一集');
setTimeout(() => doNext(), 2000);
});
}, 800);
}
/* ---------- 公共下一集 ---------- */
function doNext() {
if (typeof window.doNext === 'function') window.doNext();
else document.querySelector('.frameBtn-course__next')?.click();
}
/* ---------- 启动 & 章节切换 ---------- */
const timer = setInterval(main, 500);
new MutationObserver(() => {
done = false;
setTimeout(main, 300);
}).observe(document.body, { childList: true, subtree: true });
})();