研修网gzxkc.zgjiaoyan.com学习脚本,多页面学习全自动切换!

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

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

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

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

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

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         研修网gzxkc.zgjiaoyan.com学习脚本,多页面学习全自动切换!
// @namespace    https://greasyfork.org/
// @version      0.2
// @description  适用于教师研修网gzxkc.zgjiaoyan.com学习,暂停时自动继续播放,多页面自动切换!完成时自动切换下一视频,2021.08.14亲测有效
// @author       You
// @match        https://gzxkc.zgjiaoyan.com/train/workspace*
// @match        https://gzxkc.zgjiaoyan.com/grain/course/*
// @require      https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js
// @require      https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var playButton = document.getElementsByClassName('alarmClock-wrapper');//获取点击播放弹窗
    var pj=document.getElementsByClassName('questionnaire-wrapper');//获取评价弹窗
    var pj_up=document.getElementsByClassName('cancel ivu-btn ivu-btn-primary');//获取评价提交按钮
    var over=document.getElementsByClassName('ended-mask');//获取完成学习弹窗
    var over_bt=document.getElementsByClassName('next');//获取下一个播放内容xmt-main
    var main_url=document.getElementsByClassName('app-header');
    var main_div='<div id="main_div" style="height: auto; background-color:#069;color:#FFF;"><br/>'+
         '<div align="center" style="font-size:24px;">学习页面列表</div><br/><hr/>'+
         '<div style="font-size:16px;">'+
         '<table id="liebiao" border="1" width="100%" style="font-size:14px;">'+
         '<tr><td >地址</td><td width="60">删除</td><td width="60">开始</td></tr>'+
         '</table>'+
         '</div>'+
         '<br/>'+
         '<div style=" background-color:#000;color:#FFF;font-size:18px;padding:10px" >使用说明:<br/><br/>请选择并进入你要学习的页面,并在弹出对话框中输入你要学习此页面的时长(单位为分钟),你输入的时间最好小于此页面要求的时间2分钟!<br/>'+
         '<br/>添加好地址后,回到此页面,点击第一个地址后面的star按钮,开始学习!请不要关闭此页面!</div>'+
         '<br/>'+
         '</div>';
       var i=0;
    //加载完成判断页面地址是否在学习url列表中,如果不在则直接进入第一个学习页面
    window.onload=function(){
       if((window.location.href).substring(0,43)==='https://gzxkc.zgjiaoyan.com/train/workspace')
        {
            if($("#main_div").html()===undefined){
             $(".app-header").append(main_div);
            }
            var have_url=false;
            var url= ($.cookie('url_list'));
            var url_list= new Array(); //定义一数组
            console.log(url);
            if(url!==undefined)
            {
            url_list=url.split(";"); //字符分割
                if(url_list.length>0){
                    for (i=0;i<url_list.length-1;i++ )
                    {
                        if(url_list[i]!==""&&url_list[i]!==null&&url_list[i]!=='null')
                        {
                            var u=url_list[i];
                          $("#liebiao").append( '<tr id="l_'+i+'"><td class="list_url" id="s_'+i+'">'+u+'</td>'+
                                             '<td><button type="button" onclick="javascript:$(\'#l_'+i+'\').remove();$.cookie(\'url\',\'null\');" type="button">删除</button></td>'+
                                             '<td><button type="button" onclick="javascript:window.open(\''+u+'\');" type="button">Star</button></td></tr>');
                        }
                    }
                }
            }
            var list = document.getElementsByClassName("list_url");
            if(list.length<=0)
            {
                $.removeCookie('url_list',{path:'/',domain:'zgjiaoyan.com'});
                alert("请选择并进入你要学习的页面,并在弹出对话框中输入你要学习此页面的时长(单位为分钟),你输入的时间最好小于此页面要求的时间2分钟!");
            }
        }
       if((window.location.href).substring(0,41)==='https://gzxkc.zgjiaoyan.com/grain/course/')
        {
            $.removeCookie('url',{path:'/',domain:'zgjiaoyan.com'});
            var test_have_url=false;
            //检查url是否带有时间参数
            if(get_url(window.location.href)===""){
                test_have_url=false;
            }else{
                test_have_url=true;//带有参数则已经为添加的页面
            }
            if(test_have_url===false)
            {
                var time = prompt("如果你要学习此页面请输入时间单位为:分钟", ""); //将输入的内容赋给变量 name ,
                  //这里需要注意的是,prompt有两个参数,前面是提示的话,后面是当对话框出来后,在对话框里的默认值
                 if (time)//如果返回的有内容
                 {
                      $.cookie('get_url',window.location.href+'&t='+time,{path:'/',domain:'zgjiaoyan.com'});
                      alert("已加入学习列表,此页面学习时长为:"+time);
                      window.opener=null;window.close();//关闭页面
                  }
            }

        }
  }
setInterval(function() {
        if((window.location.href).substring(0,43)==='https://gzxkc.zgjiaoyan.com/train/workspace')
        {
            if($("#main_div").html()===undefined){
              $(".app-header").append(main_div);
             }
            var url=($.cookie('get_url'));
            var have_list=false;
            var url_list = document.getElementsByClassName("list_url");
            if(url_list.length>0)
            {
                if($.cookie('get_url')!==undefined && $.cookie('get_url')!=='null' && $.cookie('get_url')!==null)
                {
                    for(i=0;i<url_list.length;i++)
                    {
                        if(get_url(url_list[i].innerText)===get_url($.cookie('get_url')))
                        {
                           have_list=true;
                           break;
                         }
                    }
                }
             }
              if(have_list===false&&$.cookie('get_url')!==undefined && $.cookie('get_url')!=='null' && $.cookie('get_url')!==null)
              {
                var i=url_list.length;
                  var u=$.cookie('get_url');
                     $("#liebiao").append( '<tr id="l_'+i+'"><td class="list_url" id="s_'+i+'">'+u+'</td>'+
                                        '<td><button type="button" onclick="javascript:$(\'#l_'+i+'\').remove();$.cookie(\'get_url\',\'null\');" type="button">删除</button></td>'+
                                        '<td><button type="button" onclick="javascript:window.open(\''+u+'\');" type="button">Star</button></td></tr>');
               }
            if(url_list.length>0){
                var s="";
                for(i=0;i<url_list.length;i++)
                {
                    s=s+url_list[i].innerText+";";
                }
                $.cookie('url_list',s,{path:'/',domain:'zgjiaoyan.com'});
            }else{
                $.removeCookie('url_list',{path:'/',domain:'zgjiaoyan.com'});
            }
       }
     }, 1000);
    setInterval(function() {
        if((window.location.href).substring(0,41)==='https://gzxkc.zgjiaoyan.com/grain/course/')
        {
            var have_time=document.getElementsByClassName('action-timer')[0].innerText;
            var reg=/<[^<>]+>/g;
            have_time=have_time.replace(reg,'');
            have_time=parseInt(have_time.replace(/[^0-9]/ig,""));
            var t=getQueryString("t");
            if(t!=null&&have_time>=t)
            {
                run_next();
            }
             if (playButton[0].style.display !== 'none')//自动继续播放//if (playButton[0].style !== undefined)//自动继续播放
            {
                playButton[0].click();
            }
             if (pj[0].style!==undefined)//关闭评价
             {
                 pj_up[0].disabled='';
                 pj_up[0].click();
             }
            if (over[0].style.display=== '')//下一个内容//if (over[0].style!==undefined)//下一个内容
            {
                over_bt[0].click();
            }
        }
      }, 15000);
    //去除HTML标签
    function clear_html(html){
        return html.toString().replace(/<[^>]+>/g,"").innerText;//去掉所有的html标记
    }
    //获取url地址去除&t=XXX
    function get_url(url) {
        if(url===undefined)
        {
            return "";
        }else{
            var n=url.indexOf("&t=");
            var s=url.substring(0,n)
            return s;
        }
    }
    //run_next
    function run_next()
    {
            var index=0;
            var url_list = window.opener.document.getElementsByClassName("list_url");
                    for(i=0;i<url_list.length;i++)
                    {
                        if(get_url(url_list[i].innerText)===get_url(window.location.href))
                        {
                           index=i;
                         }
                    }

            if(url_list.length>index+1)
            {
                window.location.href=url_list[index+1].innerText;
            }
        if(url_list.length===index+1)
        {
            alert('已学完列表中的地址!!!');
            window.opener=null;window.close();//关闭页面
        }
    }
    //获取参数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;
    }

})();