学堂在线小工具

FXXK THIS SHXT ONLINE COURSES!

// ==UserScript==
// @name         学堂在线小工具
// @namespace    https://tunkshif.one/
// @version      0.3
// @description  FXXK THIS SHXT ONLINE COURSES!
// @author       TunkShif
// @match        https://www.xuetangx.com/learn/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const maxPlaySpeed = 5.0; // 播放倍速, 实测播放器有内部上限, 不一定能按照改的速度加速播放, 实测倍速太高播放后系统不会判定为你看过了这个视频
    const checkVideoOverInterval = 15000; // 每隔多长时间检测一次视频是否播放完毕, 单位 ms
    var helpMessage = "使用说明\n"
    helpMessage += "等待视频加载出来之后点击 开始刷课 的按钮, 然后去查看视频播放器的倍速播放的选项, 选择那个 !!MAX!! 的选项\n"
    helpMessage += "然后坐着等待刷课就行了.一个视频播放完毕后会自动跳转播放下一个, 如果检测到作业页面了会自动跳过到下一个视频.\n"
    helpMessage += "有时候因为网络原因, 可能会出现视频卡住没加载出来, 而导致直接跳到下一个视频了\n"
    helpMessage += "所以记得检查所有视频都刷满了没有哦.\n默认最大播放倍速是 5 倍速, 再高的话系统就不会计入了.\n"
    helpMessage += "要做作业题之前记得刷新一下网页并且不要点 开始刷课 按钮! 不然进入到作业页面后仍然会自动跳转!"
    helpMessage += "有bug可以提,但不一定会修("

    function createButtons() {
        let buttons = document.createElement("div");
        buttons.className = "custom-buttons";
        buttons.style = "float: left";

        let btnHelp = document.createElement("button");
        btnHelp.innerText = "点我查看帮助";
        btnHelp.onclick = function() {
            alert(helpMessage);
        }

        let btnStart = document.createElement("button");
        btnStart.innerText = "点我开始刷课";
        btnStart.onclick = function() {
            setMaxSpeed();
            setInterval(smartNextPlay, checkVideoOverInterval);
        }

        buttons.append(btnHelp);
        buttons.append(btnStart);
        document.body.append(buttons);
    }

    function setMaxSpeed() {
        let player = document.querySelector(".xt_video_player_common_list");
        let speed = player.children[4];
        speed.setAttribute("data-speed", maxPlaySpeed);
        speed.setAttribute("keyt", maxPlaySpeed);
        speed.innerText = "!!MAX!!"
        console.log("[XUETANG TOOL]: Added max speed to the video player.");
    }

    function smartNextPlay() {
        let isVideoOver = document.querySelector(".pause_show") != null;
        let nextPage = document.querySelector("p.next");
        let currentUrl = window.location.href;
        let isVideoPage = currentUrl.search("video") != -1;

        if (!isVideoPage || isVideoOver) {
            nextPage.click();
            console.log("[XUETANG TOOL]: Move to the next page.");
        }

    }

    setTimeout(createButtons, 5000);

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址