longlong-在线研修个人用

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

当前为 2025-11-17 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

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

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 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() 函数的定时器已启动。");
    // =======================================================

})();