Greasy Fork

Greasy Fork is available in English.

niunep网课 定时切换课程 不暂停

https://www.niunep.com/的网课定时切换课程 不暂停

当前为 2023-02-08 提交的版本,查看 最新版本

// ==UserScript==
// @name         niunep网课 定时切换课程 不暂停
// @namespace    http://greasyfork.icu/
// @version      0.2.3
// @description  https://www.niunep.com/的网课定时切换课程 不暂停
// @author       test
// @match        *.niunep.com/*
// @grant        none
// @license      MIT
// ==/UserScript==


function findStartLearn() {
	var bts = document.getElementsByClassName('item current-hover');
	var startLearn = [];
	for (var i = 0; i < bts.length; i++) {
		if (bts[i].attributes['data-section-type'].value == '10'){
		    if (bts[i].children[2].children[2].children[0].textContent == '开始学习' || 
		    bts[i].children[2].children[2].children[0].textContent == '继续学习'){
		    startLearn.push(bts[i]);
		     }}
	}
	return startLearn;
}

function insertButton(){
    var d = document.createElement('div');
    d.setAttribute('type', 'text/css');
    d.innerHTML = '  ';
    document.getElementsByTagName('body')[0].appendChild(d);
    d.style.display = "flex"
    var timeT = document.createElement('div');
    var stateT = document.createElement('div');
    var testT = document.createElement('div');
    var startBut = document.createElement('button');
    d.appendChild(timeT);
    d.appendChild(stateT);
    d.appendChild(testT);
    d.appendChild(startBut);
    startBut.textContent = "开始刷";
    var learnlist = findStartLearn();
    stateT.textContent = '找到了' + learnlist.length + '个学习条目' + '点击右侧按钮将每100分钟自动点击下一条视频';
    var inglearnNum = 0;
    startBut.addEventListener('click',function(){
        this.disabled=true;
        learnlist[inglearnNum].click();
        inglearnNum++;
        stateT.textContent = '<--剩余时间..  正在的等待第' + inglearnNum +
            learnlist[inglearnNum-1].children[1].children[0].textContent+  '  完成。'
        var timett = 100*60;
        var lasTime = parseInt(Date.parse(new Date())/1000);
        // ==/UserScript==     每次上网课的时间
        var timer_sec = setInterval(function(){
            if ((parseInt(Date.parse(new Date())/1000) - lasTime) > timett){
                learnlist[inglearnNum].click();
                inglearnNum++;
                stateT.textContent = '<--剩余时间..  正在的等待第' + inglearnNum +
                    learnlist[inglearnNum-1].children[1].children[0].textContent+  '  完成。'
                lasTime = parseInt(Date.parse(new Date())/1000);
            }
            timeT.innerHTML = 's' + (timett - (parseInt(Date.parse(new Date())/1000) - lasTime)) + 's';
            
            if(inglearnNum == learnlist.length){
                clearInterval(interval);
                stateT.textContent = '学习完毕';
            }
        }, 2000);
    })
}

$(document).ready(function(){
    setTimeout(() => insertButton(), 3000)
});

(function() {
    'use strict';
//判断网页中视频是否暂停,如果已经暂停,就重新播放
var timer_wk = setInterval(function() {
  if (
    document.getElementsByClassName(
      "vjs-play-control vjs-control vjs-button vjs-paused"
    ).length == 1
  ) {
    document
      .getElementsByClassName(
        "vjs-play-control vjs-control vjs-button vjs-paused"
      )[0]
      .click();
  }
    //判断网页中是否出现了暂停学习的警告,如果有警告就关闭
  if (document.getElementsByClassName("alert-wrapper").lenght > 0){
    if (document.getElementsByClassName("alert-wrapper")[0].children[2] != 0) {
        document.getElementsByClassName("alert-wrapper")[0].children[2].click();
    }
  }
}, 15123);
})();