longlong-在线研修个人用

  登录,打开学习页面,将自动学习

目前為 2025-11-17 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        longlong-在线研修个人用
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description    登录,打开学习页面,将自动学习
// @author       longlong
// @match        https://zy.jsyx.sdedu.net/*
// @icon         https://zy.jsyx.sdedu.net/
// @grant        none
// @license  MIT
// ==/UserScript==

(function() {
    'use strict';

    setTimeout(function() {
        if (typeof window.interval !== 'undefined') {
            window.interval = 9;
            console.log('油猴脚本:已将视频更新间隔强制设置为 ' + window.interval + ' 秒。');
        } else {
            console.warn('油猴脚本:未能找到全局变量 interval,可能无法修改更新频率。');
        }
    }, 1000); // 延迟 1 秒执行,确保页面原始脚本已运行
    // =======================================================

    /**
     * 检查学习进度并自动跳转到下一章节
     */
    function play(){
        if(typeof($('video')[0])!="undefined") {
            let v = $('video')[0];
            v.muted = true;
            v.play();
        }

        // 检查第一个提示文本:是否包含 "您已完成观看"
        var promptText = $(".g-study-prompt p ")[0]?.innerText || "";
        if(promptText.indexOf("作业") >= 0){
                    if (playTimer) {
                        clearInterval(playTimer); // 停止定时器
                        console.warn('做作业,停止脚本,手动跳往下一章节');
                    }
                    return;
                }
        if(promptText.indexOf("您已完成观看") >= 0){
            // 如果已完成,点击下一章节的链接 (假设 a[1] 是下一章)
            $("#studySelectAct a")[1]?.click();
            console.log("学习完成提示出现,已自动跳转到下一章节。");
            return;
        }

        // 检查计时器进度:已观看时间 (timer1) 是否大于等于 要求观看时间 (timer2)
        var timer1Element = $(".g-study-prompt p span")[0];
        var timer2Element = $(".g-study-prompt p span")[1];

        if (timer1Element && timer2Element) {
            var timer1 = timer1Element.innerText; // 已观看时间(分钟)
            var timer2 = timer2Element.innerText; // 要求观看时间(分钟)

            // 比较分钟数:如果已观看时间 >= 要求时间,则点击下一章节
            if (parseInt(timer1) <= parseInt(timer2)){
                $("#studySelectAct a")[1]?.click();
                console.log(`进度检查通过 (${timer1} >= ${timer2}),已自动跳转到下一章节。`);
            }
        }

    }

    // =======================================================
    // 2. 增加定时器:每 2000 毫秒(2 秒)运行一次 play()
    // 使用 setInterval 来周期性地执行 play 函数
    const playTimer = setInterval(play, 2000);
    console.log("油猴脚本:每 2 秒运行一次 play() 函数的定时器已启动。");
    // =======================================================

})();