// ==UserScript== // @name 广东国家开放大学在线自动观看学习 // @namespace www.31ho.com // @match http://lms.ouchn.cn/course/* // @grant none // @version 1.0 // @author keke31h // @grant GM_setValue // @grant GM_getValue // @description 自动播放国开在线课程 // @downloadURL none // ==/UserScript== function sleep(timeOutMs) { return new Promise((resolve) => { setTimeout(resolve, timeOutMs); }); } async function waitVideo(video){ return new Promise((resolve) => { video.addEventListener('ended', function () { //结束 console.log("播放结束"); resolve(video); }, false); }); } (async function(){ //等待10s await sleep(10000); let index = 0 ; let path = window.location.pathname ; let key = 'lms.ouchn.cn'; if(path.search('learning-activity') > 0){ key = path.substring(0,path.search('learning-activity')); index = GM_getValue(key,0); } let nodes = document.querySelectorAll('a.activity-title'); if(nodes){ nodes = Array.from(nodes); for(let i = index ; i < nodes.length ; ++i){ let node = nodes[i]; node.click(); await sleep(2 * 1000); GM_setValue(key,i); let video = document.getElementsByTagName('video'); if(video.length > 0){ video = video[0]; video.muted = true ; video.play(); await waitVideo(video); } } } })();