自动下一集、自动静音播放、防暂停、跨页面持久运行
// ==UserScript==
// @name 智慧树全自动刷课脚本
// @namespace http://tampermonkey.net/
// @version 3.1
// @description 自动下一集、自动静音播放、防暂停、跨页面持久运行
// @author Gemini 3.0 Pro
// @match *://*.zhihuishu.com/*
// @license MIT
// @grant none
// ==/UserScript==
(function() {
'use strict';
console.log(">>> 脚本已注入,开始监视...");
// 设置定时器,每 2 秒运行一次主逻辑
setInterval(function() {
var video = document.querySelector('video');
var allListItems = document.querySelectorAll('.file-item');
// 如果找不到视频,可能是页面还没加载完,直接返回
if (!video) return;
// --- 模块1:暴力自动播放 (解决刷新后暂停问题) ---
// 只要视频暂停且未结束,就强制静音并播放
if (video.paused && !video.ended) {
console.log("监测到暂停,尝试自动恢复...");
video.muted = true; // 必须静音才能通过浏览器的自动播放策略
var playPromise = video.play();
if (playPromise !== undefined) {
playPromise.catch(error => {
// 忽略加载中的报错
});
}
}
// --- 模块2:自动跳转 (解决播放完卡住问题) ---
if (video.ended) {
console.log(">>> 本集结束,寻找下一集...");
for (var i = 0; i < allListItems.length; i++) {
// 找到当前高亮的那一行
if (allListItems[i].classList.contains('active')) {
// 检查是否存在下一行
if (i + 1 < allListItems.length) {
var nextItem = allListItems[i + 1];
console.log(">>> 即将跳转:" + nextItem.innerText);
// 点击跳转 (这会导致页面刷新,脚本会由油猴插件自动在新页面重新加载)
nextItem.click();
} else {
console.log(">>> 已是最后一集,任务完成。");
}
break;
}
}
}
}, 2000);
})();