// ==UserScript== // @name 网课(武汉理工大学自考网络助学平台)刷课(生效域名:cws.edu-edu.com)*进入播放页开始生效 // @version 0.0.1 // @description 解放双手,节省时间,追赶课程进度。拥有个性化操作面板,实现自动播放需要其他平台请联系:qq:1908245302 vx:xiguayaodade // @author Xiguayaodade // @license MIT // @match *://cws.edu-edu.com/* // @grant GM_info // @grant GM_getTab // @grant GM_saveTab // @grant GM_setValue // @grant GM_getValue // @grant GM_addStyle // @grant unsafeWindow // @grant GM_listValues // @grant GM_deleteValue // @grant GM_setClipboard // @grant GM_notification // @grant GM_xmlhttpRequest // @grant GM_getResourceText // @grant GM_registerMenuCommand // @grant GM_unregisterMenuCommand // @grant GM_addValueChangeListener // @grant GM_removeValueChangeListener // @namespace http://tampermonkey.net/ // @homepage http://8.130.116.135/?article/ // @source http://8.130.116.135/?article/ // @icon https://picx.zhimg.com/v2-ce62b58ab2c7dc67d6cabc3508db5795_l.jpg?source=32738c0c // @connect icodef.com // @connect localhost // @require https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js // @downloadURL https://update.greasyfork.cloud/scripts/477171/%E7%BD%91%E8%AF%BE%28%E6%AD%A6%E6%B1%89%E7%90%86%E5%B7%A5%E5%A4%A7%E5%AD%A6%E8%87%AA%E8%80%83%E7%BD%91%E7%BB%9C%E5%8A%A9%E5%AD%A6%E5%B9%B3%E5%8F%B0%29%E5%88%B7%E8%AF%BE%EF%BC%88%E7%94%9F%E6%95%88%E5%9F%9F%E5%90%8D%EF%BC%9Acwsedu-educom%EF%BC%89%2A%E8%BF%9B%E5%85%A5%E6%92%AD%E6%94%BE%E9%A1%B5%E5%BC%80%E5%A7%8B%E7%94%9F%E6%95%88.user.js // @updateURL https://update.greasyfork.cloud/scripts/477171/%E7%BD%91%E8%AF%BE%28%E6%AD%A6%E6%B1%89%E7%90%86%E5%B7%A5%E5%A4%A7%E5%AD%A6%E8%87%AA%E8%80%83%E7%BD%91%E7%BB%9C%E5%8A%A9%E5%AD%A6%E5%B9%B3%E5%8F%B0%29%E5%88%B7%E8%AF%BE%EF%BC%88%E7%94%9F%E6%95%88%E5%9F%9F%E5%90%8D%EF%BC%9Acwsedu-educom%EF%BC%89%2A%E8%BF%9B%E5%85%A5%E6%92%AD%E6%94%BE%E9%A1%B5%E5%BC%80%E5%A7%8B%E7%94%9F%E6%95%88.meta.js // ==/UserScript== (function() { 'use strict'; /* globals jQuery, $, waitForKeyElements */ var speedonoff = false; var speedIn = null; var ddds3 = null; var addMessage = null; let btn1=GM_registerMenuCommand ("\u4f5c\u8005\uff1a\ud83c\udf49\u897f\u74dc\u8981\u5927\u7684\ud83c\udf49", function(){ confirm("Hello,\u611f\u8c22\u4f7f\u7528\ud83c\udf49\u897f\u74dc\u5237\u8bfe\u52a9\u624b\ud83c\udf49\uff01\u591a\u591a\u53cd\u9988\u54e6"); GM_unregisterMenuCommand(btn1); }, ""); let btn2=GM_registerMenuCommand ("\u4ed8\u8d39\u5185\u5bb9", function(){ alert("\u9650\u65f6\u514d\u8d39\uff0c\u5168\u529b\u5f00\u53d1\u4e2d..."); }, "p"); var chapterCount = 0; var chapterId = 1; var questionCount = 0; var elevideo; var rediosIndex = 0; var courseId = GM_getValue("courseId"); var courseCount = null; var courseIndex = null; var vdplay = null; var vdplaying = null; var vdpause = null; var vdended = null; var vdvolume = null; var addLisenner = function(){ elevideo = document.querySelector("video"); vdplay = function(){ let tm = 5 * 60 * 1000; console.log("xigua:\u5f00\u59cb\u64ad\u653e"); addMessage("xigua:\u5f00\u59cb\u64ad\u653e"); speedIn = setInterval(function(){ speedff(); },tm); }; vdplaying = function(){ console.log("xigua:\u6b63\u5728\u64ad\u653e"); addMessage("xigua:\u6b63\u5728\u64ad\u653e"); }; vdpause = function(){ clearInterval(speedIn); console.log("xigua:\u6682\u505c\u64ad\u653e"); addMessage("xigua:\u6682\u505c\u64ad\u653e"); setTimeout(function(){ if(document.getElementsByClassName("preview-modal v-transfer-dom")[0].getElementsByTagName("div")[1].className == 'ivu-modal-wrap'){ addMessage("xigua:课堂练习"); }else if(document.getElementsByClassName("alert-modal v-transfer-dom")[1].getElementsByTagName("div")[1].className == 'ivu-modal-wrap'){ addMessage("xigua:提示"); }else{ addMessage("xigua:手动暂停,无需操作"); } },1500); }; vdended = function(){ clearInterval(speedIn); addMessage("xigua:结束播放"); }; vdvolume = function(){ if(elevideo.volume < 1 && elevideo.volume > 0){ let vlum = elevideo.volume.toString(); addMessage("xigua:当前音量("+vlum.substring(2,4)+"%)"); }else if(elevideo.volume == 0){ addMessage("xigua:当前音量(0%)"); }else{ addMessage("xigua:当前音量(100%)"); } } elevideo.addEventListener('play',vdplay); elevideo.addEventListener('playing',vdplaying); elevideo.addEventListener('pause',vdpause); elevideo.addEventListener('ended',vdended); elevideo.addEventListener('volumechange',vdvolume); setTimeout(function(){ // elevideo.play(); elevideo.volume = 0.51; },3000); } var removeLisenner = function(){ if(vdplay != null){ elevideo.removeEventListener("play", vdplay); } if(vdplaying != null){ elevideo.removeEventListener("playing", vdplaying); } if(vdpause != null){ elevideo.removeEventListener("pause", vdpause); } if(vdended != null){ elevideo.removeEventListener("ended", vdended); } if(vdended != null){ elevideo.removeEventListener("ended", vdended); } if(vdvolume != null){ elevideo.removeEventListener("volumechange",vdvolume); } } var speedff = function(){ if(speedonoff){ let vdText = document.getElementsByClassName("video-progress clearfix not-start")[0].getElementsByClassName("text")[0].getElementsByTagName("span")[1].innerText; if(parseFloat(vdText) <= 70){ setTimeout(function(){ document.querySelector("video").playbackRate=16; console.log("X16"); setTimeout(function(){ document.querySelector("video").playbackRate=1; console.log("X1"); },800); },1000); } }else{ addMessage("断点倍速状态:关闭"); } } const panel = function(){ var container = $('
'); var titleBar = $('
\ud83c\udf49\u897f\u74dc\u7f51\u8bfe\u52a9\u624b\ud83c\udf49
'); var minimizeButton = $('
'); var maxButton = $('
'); var content = $('
'); var tips = $(''); var scrollText = $('').text('\u4e7e\u5764\u672a\u5b9a\uff0c\u4f60\u6211\u7686\u662f\u9ed1\u9a6c----\u4f5c\u8005\uff1a\u897f\u74dc\u8981\u5927\u7684\uff08\u611f\u8c22\u652f\u6301\uff01\uff09').css({ 'position': 'absolute', 'top': '15%', 'left': '50%', 'transform': 'translate(-50%, -50%)', 'width': '90%', 'height': '25px', 'font-size': '16px', 'line-height': '1.5', 'white-space': 'nowrap' }).appendTo(content); //var ddds1 = $('
\u70b9\u51fb\u542f\u52a8\uff1a
'); //var ddds5 = $('
\u70b9\u51fb\u542f\u52a8\uff1a
'); var ddds2 = $('
\u65ad\u70b9\u500d\u901f\uff1a
'); ddds3 = $('
-------------------------------------------------------------------------------
'); var ddds4 = $('
\u003e\u003e\u003e\u8054\u7cfb\u003a\u0031\u0039\u0030\u0038\u0032\u0034\u0035\u0033\u0030\u0032\u0040\u0071\u0071\u002e\u0063\u006f\u006d
'); container.append(titleBar); //content.append(ddds1); //content.append(ddds5); content.append(ddds2); content.append(ddds3); content.append(ddds4); container.append(content); container.append(maxButton); container.append(minimizeButton); $('body').append(container); $('body').append(tips); GM_addStyle(` #gm-interface { position: fixed; top: 50%; left: 50%; border-radius: 5px; background-color: white; z-index: 9999; } #gm-title-bar { padding: 5px; background-color: #ffc0c0; border: 1px solid black; border-radius: 5px; cursor: grab; } #gm-minimize-button { position: absolute; top: 2px; right: 2px; width: 30px; height: 30px; border-radius: 5px; padding: 0; font-weight: bold; background-color: #ffc0c0; cursor: pointer; } #gm-content { padding: 10px; border: 1px solid black; border-radius: 2px 2px 5px 5px; background-color: #ffe5e5; width: 400px; height: 300px; } .tip{ font-family: "黑体"; color: black; -webkit-transform: scale(0.8); position:absolute; padding: 6px 5px; background-color:#ffe8f0; border-radius: 4px; z-index: 9999; } `); titleBar.on('mousemove',function(e){ tips.attr("style", "display:black;"); var top = e.pageY+5; var left = e.pageX+5; tips.css({ 'top' : top + 'px', 'left': left+ 'px' }); }); titleBar.on('mouseout',function(){ tips.hide(); }); titleBar.on('mousedown', function(e) { var startX = e.pageX - container.offset().left + window.scrollX; var startY = e.pageY - container.offset().top + window.scrollY; $(document).on('mousemove', function(e) { e.preventDefault(); var newX = e.pageX - startX; var newY = e.pageY - startY; container.css({ left: newX, top: newY }); }); $(document).on('mouseup', function() { $(document).off('mousemove'); $(document).off('mouseup'); }); }); minimizeButton.on('click', function() { minimizeButton.attr("style", "display:none;"); maxButton.attr("style", "display:black;"); content.slideToggle(0); container.css({ width: 200 }); }); maxButton.on('click', function() { minimizeButton.attr("style", "display:black;"); maxButton.attr("style", "display:none;"); content.slideToggle(0); container.css({ width: 400 }); }); // $("#speedxgsex").on('click',function(){ // document.querySelector("video").playbackRate=16; // addMessage("\u500d\u901f\uff1a\u0058\u0031\u0036"); // }); $("#speedxgone").on('click',function(){ GM_deleteValue("courseId"); ddds3.children().remove(); addMessage("已清空缓存"); }); $("#switchButton").on('click',function(){ if (speedonoff) { speedonoff = false; addMessage("\u500d\u901f\uff1a\u5173\u95ed"); $("#switchButton").text("当前:关闭"); } else { speedonoff = true; addMessage("\u500d\u901f\uff1a\u5f00\u542f"); $("#switchButton").text("当前:开启"); } }); // 监听鼠标滚轮事件,实现消息框滚动 ddds3.on('mousewheel', function(event) { event.preventDefault(); var scrollTop = ddds3.scrollTop(); ddds3.scrollTop(scrollTop + event.originalEvent.deltaY); }); // 添加新消息 addMessage = function(message){ // 检查消息数量,移除最早的一条消息 if (ddds3.children().length >= 288) { ddds3.children().first().remove(); } // 创建消息元素并添加到消息框容器 var messageElement = $('
').text(message).css({ 'margin-bottom': '10px' }).appendTo(ddds3); } } panel(); addMessage("正在启动,请稍后..."); var wait = setInterval(function (){ let nowUrl = window.location.href; if(nowUrl.substring(0,35) === 'https://cws.edu-edu.com/page/client'){ addMessage("播放页"); console.log("播放页"); if(document.getElementsByClassName("ivu-switch ivu-switch-default")[0].getElementsByClassName("ivu-switch-inner")[0].innerText == '关'){ document.getElementsByClassName("ivu-switch ivu-switch-default")[0].click(); } }else { addMessage("请进入要学习的课程章节页"); console.log("请进入要学习的课程章节页"); } clearInterval(wait); }, 5000); //------等待网页加载完成end----- setInterval(function (){ removeLisenner(); addLisenner(); }, 500); })();