网梯课堂助手—山东省专业技术人员继续教育基地网课自动挂机脚本

收录 135

测试于山东省专业技术人员继续教育基地,目测支持
中国石油大学(华东)-潍坊市2020年度专业技术人员继续教育在线学习
https://wfzj.webtrn.cn
临沂市继续教育-临沂市2020年度专业技术人员继续教育在线学习
http://lyzj2019.p.webtrn.cn
克拉玛依专业技术人员学习平台
https://klmyzj.webtrn.cn
功能:
自动下一篇,跳过作业、PPT、DOC等

屏蔽每30分钟的检查

1.5倍速挂视频

// ==UserScript==
// @name         继续教育基地网课自动挂机脚本
// @namespace    your
// @version      1。4
// @description  自动挂机网梯课堂
// @author       zfp123123
// @match        http://*.webtrn.cn/learnspace/learn/learn/*/index.action*
// @run-at       document-start
// @require      https://greasyfork.org/scripts/18715-hooks/code/Hooks.js?version=661566
// @grant        none
// @license      MIT
// ==/UserScript==
function nextP(){

}

function findVideo(element){
    if(!element) element = [window.document];
    for(let item of element){
        let document = item.nodeName === 'IFRAME' ? item.contentDocument : item;
        let videos = document.querySelectorAll('video');
        if(videos.length > 0){
            return videos;
        } else if (document.querySelectorAll('iframe').length > 0){
            let res = findVideo(document.querySelectorAll('iframe'));
            if(res) return res;
        }
    }
}

function autoPlay() {
    const mainContent = document.getElementsByClassName('contentIframe')[0];
    mainContent.addEventListener("load",function(){
        const mainFrame = mainContent.contentDocument.getElementById("mainFrame");
        mainFrame.addEventListener("load",function(){
            const $ = window.jQuery;
            //视频重新加载时再执行一次脚本
            mainFrame.addEventListener("load",function(){autoPlay();});
            if(location.pathname.indexOf('blue') > -1)
            {
                const menus = [...$(mainContent).contents().find(".vcon").find("li")];            //左侧菜单
                const selectMenu = $(mainContent).contents().find(".vcon").find("li.select")[0];  //当前选中的菜单
                const selectMenuIndex = menus.findIndex(e=>e===selectMenu);                          //当前选中菜单的游标

                const nextBtn = $(mainContent).contents().find(".rtarr")[0];                      //标签栏下一个按钮
                const tabs = [...$(mainContent).contents().find(".menub")];                       //标签栏
                const selectTab = $(mainContent).contents().find(".menubu")[0];                   //当前选中的标签
                const selectTabIndex = tabs.findIndex(e=>e===selectTab);                             //当前选中标签的游标

                nextP = function(){
                    if(tabs.length - selectTabIndex >1){
                        nextBtn.click();
                    }else if(menus.length - selectMenuIndex > 1){
                        menus[selectMenuIndex + 1].click();
                        $(menus[selectMenuIndex + 1]).find("a").click()
                    }
                }
            }else if(location.pathname.indexOf('templatethree') > -1)
            {
                //TODO
            }

            let interval = setInterval(() => {
                let videos = findVideo();
                if(videos && videos.length > 0){
                    for(let v of videos){
                        v.addEventListener('ended',function(){
                            videoIntervals.forEach(e=>clearInterval(e));
                            nextP();
                        });
                        videoIntervals.push(setInterval(() => {
                            if( v.volume !== 0)
                                v.volume = 0;
                            if(v.playbackRate !== 1.5)
                                v.playbackRate = 1.5;
                        }, 100));
                    }
                    clearInterval(interval);
                }
            }, 100);

            const studyType = $(mainFrame)[0].contentWindow._maq[11][1];
            if(!(studyType !== 'video' || studyType !== 'courseware'))
            {
                nextP();
            }

        });
    });
}

var videoIntervals =[];

(function() {
    'use strict';
    /**
     * 关闭30分钟每次的检查
     */
    Hooks.set(window, "jQuery", function ( target, propertyName, ignored, jQuery ) {
        Hooks.method(jQuery, "studyTime", function ( target, methodName, method, thisArg, args ) {
            args[0].clickAuth = false;
            args[0].periodRemind = false;
            args[0].randomRemind = false;
            console.log('已关闭30分钟每次的检查');
            return Hooks.Reply.method( arguments );
        });
        return Hooks.Reply.set( arguments );
    });
    document.addEventListener('DOMContentLoaded',function(){
        autoPlay();
    });
})();

没时间挂机的可以联系我们代学:VX:tm1802

none
打赏采用二维码方式。

添加新评论