Greasy Fork

研修网2.0学习脚本,多页面学习全自动切换!

适用于教师研修网2.0学习,暂停时自动继续播放,多页面自动切换!完成时自动切换下一视频,2021.08.01亲测有效

目前为 2021-08-01 提交的版本。查看 最新版本

// ==UserScript==
// @name         研修网2.0学习脚本,多页面学习全自动切换!
// @namespace    https://greasyfork.org/
// @version      0.3
// @description  适用于教师研修网2.0学习,暂停时自动继续播放,多页面自动切换!完成时自动切换下一视频,2021.08.01亲测有效
// @author       You
// @match        https://ipx.yanxiu.com/grain/course/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var playButton = document.getElementsByClassName('alarmClock-wrapper');//获取点击播放弹窗
    var pj=document.getElementsByClassName('scoring-wrapper');//获取评价弹窗
    var pj_up=document.getElementsByClassName('ivu-btn ivu-btn-primary');//获取评价提交按钮
    var over=document.getElementsByClassName('ended-mask');//获取完成学习弹窗
    var over_bt=document.getElementsByClassName('next');//获取下一个播放内容
    var i=0;
    var a=new Array();
    //以下参数为你需要播放页面地址,再加上“&t=时间(分钟)”,其中时间为你要学习此页面的时间,一般情况应该小于此页面实际播放实际,最好小于5分钟;这样将会自动退出此页面,进入下一个页面的学习
    //请自行添加学习页面地址+“&t=分钟”实例:a[0]='https://ipx.yanxiu.com/grain/course/554145768680750111/detail?projectId=5541412812989063111&toolId=5541457411189411&courseSourceId=32011&role=100&t=50';
    //序号为:a[0]='';a[1]='';以此类推......
    //使用方法:
    //第一步:把要学习的内容url地址和要学习的时间弄好;
    //第二步:复制第一个要学习的页面地址到浏览器地址栏开始学习就可以了;
    
    //以下地址需要自己添加!!!!
    a[0]='';
    a[1]='';
    
    var t=-1;
    var v_n=0;
    //加载完成判断页面地址是否在学习url列表中,如果不在则直接进入第一个学习页面
    window.onload=function(){
    t= getQueryString('t');
        for(i=0;i<a.length;i++){
            if(a[i]===window.location.href)
            {
                v_n=i;
                break;
            }else{
                v_n=-1;
            }
        }
        if(v_n===-1)
        {
          window.location.href=a[0];
        }
  }
    setTimeout(function(){
      get_time();
    },10000);
    //获取已播放时间,如果大于设定时间则跳入下一个学习页面
    function get_time(){
        var have_time=document.getElementsByClassName('action-timer')[0].innerHTML;
        var reg=/<[^<>]+>/g;
        have_time=have_time.replace(reg,'');
        have_time=parseInt(have_time.replace(/[^0-9]/ig,""));
       if(t!=null&&have_time>=t)
       {
           v_n++;
          window.location.href=a[v_n];
       }
    }
    //获取参数t(要播放的时间单位为分钟)
    function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
    }
    setInterval(function() {
        var have_time=document.getElementsByClassName('action-timer')[0].innerHTML;
        var reg=/<[^<>]+>/g;
        have_time=have_time.replace(reg,'');
        have_time=parseInt(have_time.replace(/[^0-9]/ig,""));
       if(t!=null&&have_time>=t)
       {
           v_n++;
          window.location.href=a[v_n];
       }
        if (playButton[0].style.display !== 'none')//自动继续播放
		{
			playButton[0].click();
		}
        if (pj[0].style.display=== '')//关闭评价
		{
			pj_up[0].disabled='';
            pj_up[0].click();
		}
        if (over[0].style.display=== '')//下一个内容
        {
            over_bt[0].click();
        }
      }, 10000);
})();