// ==UserScript== // @name 目录列表自动顺序播放下一课视频 // @namespace http://localhost/ // @version 1.1 // @description 无下一集按钮,播放结束自动选取目录中下一个待完成视频播放 // @author user // @match https://https://jxjyjd.hnu.edu.cn/course/2950/task/76832/show#/* // @grant none // ==/UserScript== (function() { const checkInterval = 800; // 配置项,根据网页F12查看元素自行修改选择器 const config = { videoSelector: "video", // 视频标签选择器,默认通用video listItem: ".course-item", // 课时目录每条条目容器 activeClass: "playing", // 当前播放课时标记类名 finishClass: "finished", // 已看完课时的类名,已完成课时会带有此类 }; setInterval(()=>{ const video = document.querySelector(config.videoSelector); if(!video || isNaN(video.duration)) return; // 判断视频播放完毕,误差0.5秒防止精度问题 if (video.currentTime < video.duration - 0.5) return; // 获取全部课时列表 const items = Array.from(document.querySelectorAll(config.listItem)); let currentIndex = -1; // 找到当前播放课时序号 for(let i=0;i{ nextItem.click(); },1500); } },checkInterval); })();