// ==UserScript==
// @name 自动下一集-学起刷课(可用版)
// @namespace https://cjlzulms.sccchina.net/
// @version 2.0
// @description 用户首次点击播放后,自动连播下一集
// @author You
// @match https://cjlzulms.sccchina.net/venus/*
// @grant none
// @run-at document-end
// ==/UserScript==(function () {'use strict';console.log('[AutoNext] 脚本已注入,等待用户首次点击播放');let player;let userClicked = false; // 是否已人工点过播放function bindEnded() {if (typeof eduplayer === 'undefined') return false;player = eduplayer.getPlayer('video');if (!player) return false;// 用户第一次点击播放后,才把 ended 绑定上去player.one('play', () => {userClicked = true;console.log('[AutoNext] 用户已点击播放,后续将自动连播');player.one('ended', autoNext);});return true;}function autoNext() {console.log('[AutoNext] 播放结束,3 秒后自动下一集');setTimeout(() => {if (typeof doNext === 'function') {doNext();} else {document.querySelector('.frameBtn-course__next')?.click();}}, 3000);}const ti = setInterval(() => {if (bindEnded()) {console.log('[AutoNext] 绑定 play 事件成功');clearInterval(ti);}}, 1000);/* 章节切换后重新绑定 */new MutationObserver(() => {if (!player || player.isDisposed?.()) {userClicked = false;bindEnded();}}).observe(document.body, { childList: true, subtree: true });
})();