Greasy Fork

国家开发大学刷课

可以复制答案、刷课的强大插件

目前为 2022-06-09 提交的版本。查看 最新版本

// ==UserScript==
// @name         国家开发大学刷课
// @namespace    http://tampermonkey.net/
// @version      20220606.9.1
// @description  可以复制答案、刷课的强大插件
// @author       sushiwu
// @match        https://lms.ouchn.cn/*
// @license      GPL

// ==/UserScript==

//检测url变化
window.onload = function()  {
	var url = window.location.pathname;  
        if(url.indexOf("exam") >= 0 ) { //判断url对象文件名中是否包含post
            $("input[checked*='checked']").parent().parent().css('background-color', 'red');
            alert('可以复制答案了哦');  
        } 
	nextButtonClick()
	window.onhashchange = function () {
		console.log('URL发生变化了');
		setTimeout(function(){
		    init();
		},7500);
	};
	// 初始化函数
	function init() {
		playVideo()
		

	}
	
	//视屏倍速播放
	function playVideo() {
		var video = document.getElementsByTagName("video");
		console.log('开始了判断')
		console.log('给你们看看video的参数:'+ video)
		if(video.length>0){ //是视频的话就播放
			video[0].currentTime = 0;
		    document.querySelector('.mvp-fonts-play').click();
			console.log('视屏开始播放')
		     setTimeout(function(){
		        document.querySelectorAll('.mvp-play-rate')[0].click()
				//开始倍速播放
				speedControl()
		    },5500);
			//视屏是否完成
			video[0].addEventListener('ended', function () { 
				//视屏播放结束、进入下一课时。
				console.log('视屏结束!');
				nextButtonClick();
			}, false);
		} else {
			//没有发现视屏、5秒后将进入下一刻。
			console.log('没视频判断到我将点击下一课!');
			scrollContent()
			nextButtonClick()
			
			
		}
	}
	
	//点击下一课程
	function nextButtonClick() {
		setTimeout(function(){
		    document.querySelector('.next').click();
		},5500);
	}

	// 下拉滚动条
	function scrollContent() {
		// 开始操作滚动条
		//下行
		$("html,body,.___content").animate({ scrollTop: 394 }, 1000)
		//上行
		$("html,body,.___content").animate({ scrollTop: 0 }, 1000)
	}
	
	
	function speedControl() {
		// 倍速播放 5倍速
		// video[0].playbackRate = 5;
		//利用setInterval的快进播放
		// var video = document.getElementsByTagName("video");
		var video = document.getElementsByTagName("video");
		var clock = setInterval( function() {
			//界定快进范围
			// console.log('快进中')
			
			if (video[0].currentTime < video[0].duration-10 ) {
				video[0].currentTime+=5;
			} else {
				clearInterval(clock);
				console.log('已清除')
			}
			
		}, 150)	


	}
}