无锡市人才培训-继续教育

无锡专业技术人员继续教育,自动播放下一个

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         无锡市人才培训-继续教育
// @namespace    http://tampermonkey.net/
// @version      2.0.0
// @description  无锡专业技术人员继续教育,自动播放下一个
// @author       You
// @match        https://rs.hrss.wuxi.gov.cn:8031/rcrs/lxStuWeb.html
// @icon         https://www.google.com/s2/favicons?sz=64&domain=wuxi.gov.cn
// @require      https://code.jquery.com/jquery-3.6.0.min.js
// @grant        none
// @license      GPL
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    var vueBox = null;
    var checkVueBox = setInterval(function(){
        if(document.querySelector('#app')){
            vueBox = document.querySelector('#app').__vue__;
            clearInterval(checkVueBox);
            init();
        }
    },500);
    var checkPlay = null;

    function init(){
        console.log('初始化成功');
        let path = vueBox.$route.path;
        switchPath(path);

        vueBox.$router.afterHooks.push(()=>{
            let tmpPath = vueBox.$route.path;
            console.log('路由发生改变===>',tmpPath);
            switchPath(tmpPath);
        });
    }

    function switchPath(path){
        clearHandler();
        switch(path){
            case '/playVideo':
                playVideoHandler();
                break;
            default:
                break;
        }
    }

    function playVideoHandler(){
        addhtml();
        let currentTime = 0
        checkPlay = setInterval(function(){
            let len = $('.childSection').length;
            console.log("检测是否完成")
            for(let i=0;i<len;i++){
                let text = $('.childSection').eq(i).find('.isFinsh').text();
                if($('.childSection').eq(i).hasClass('active') && text == '已完成'){
                    let next = i+1;
                    if(next < len){
                        $('.childSection').eq(next).click();
                        break;
                    }
                }
            }
            //当前播放时间
            let now = $('#myVideo')[0].currentTime;
            //console.log("时间",currentTime,now);
            //停止播放,重新播放
            if(currentTime == now){
                $('.childSection.active').click();
            }else{
                currentTime = now;
            }
        },1000*5);
        function addhtml(){
            var css = "'position:fixed;z-index:99999;top:0;left:0;right:0;margin:0 auto;width:120px;height:40px;text-align:center;line-height:40px;background:red;color:#fff;cursor:pointer;border:2px solid #fff;box-shadow:0 0 10px #999'";
            var html = "<div id='playText' style="+css+">生效中</div>"
            $('body').append(html);
        }
    }

    function clearHandler(){
        console.log('清除所有方法');
        $('#playText').remove();
        clearInterval(checkPlay);

    }
})();