在您安裝前,Greasy Fork希望您了解本腳本包含“可能不受歡迎的功能”,可能幫助腳本的作者獲利,而不能給你帶來任何收益。
此腳本會在您造訪的網站插入廣告。
腳本的作者解釋:
我们会展示捐助页面,但您可以关闭它
挂机看知学云网课,已适配中建一局先锋学堂
// ==UserScript== // @name 中建一局先锋学堂知学云_挂机 // @namespace http://tampermonkey.net/ // @version 3.3 // @description 挂机看知学云网课,已适配中建一局先锋学堂 // @author kakasearch // @match https://cscec1b.zhixueyun.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=cscec1b.zhixueyun.com // @require https://greasyfork.org/scripts/425166-elegant-alert-%E5%BA%93/code/elegant%20alert()%E5%BA%93.js?version=922763 // @grant GM_setValue // @grant GM_getValue // @grant unsafeWindow // @antifeature ads 我们会展示捐助页面,但您可以关闭它 // @license GPLV3 // ==/UserScript== (function() { 'use strict'; unsafeWindow.kaka_not_donate = function(){ document.querySelector("#donatediv").innerHTML='<div style="text-align: center; margin: 10px;"><p>(ಥ﹏ಥ) 好吧</p><div>' GM_setValue("donate_count",new Date().getTime()) setTimeout(function(){window.location.reload()},1500) } unsafeWindow.kaka_has_donate = function(){ if(document.querySelector("#donatediv")){document.querySelector("#donatediv").innerHTML= '<div style="text-align: center; margin: 10px;"><p>٩(^ᴗ^)۶ 公若不弃,某愿拜为义父</p><div>'} GM_setValue("donate_count",new Date().getTime()+ 1000*3600*24*365 ) setTimeout(function(){window.location.reload()},1500) } setInterval(function(){ if(/study\/errors/.test(window.location.href)){ new ElegantAlertBox("准备关闭页面>__<") window.close() } },5000) if(!GM_getValue("doing")){ //init GM_setValue("doing",{"name":"","time":1,"status":""}) } if(!GM_getValue("donate_count")){ //init GM_setValue("donate_count",new Date().getTime()) } var donate_flag = true; if(GM_getValue("donate_count") && new Date().getTime()- GM_getValue("donate_count") > 1000*30*3600*24){ //donate donate_flag = false ; var script = document.createElement('script'); script.src = 'https://cdn.bootcdn.net/ajax/libs/layer/3.5.1/layer.min.js'; // Layer.js CDN链接 document.head.appendChild(script); script.onload = function() { layer.open({ type: 1, title: '捐助页面', closeBtn:0, anim: 2, area: [Number(document.body.clientWidth/2)+"px",Number(document.body.clientHeight*0.9)+"px"], shadeClose: false, offset: 'auto', // 居中显示 skin: 'layui-layer-demo', // 无背景色 content: ` <div id = "donatediv"> <img src="https://greasyfork.org/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6ODY4NDIsInB1ciI6ImJsb2JfaWQifX0=--418d35c0003c67ad7cf985d685e9444fda96190a/jdd803evdr4tdkqp78jk2afo27z6.png?locale=zh-CN" style="max-width: 50%; display: block; margin: 0 auto;"/> <div style="text-align: center; margin: 10px;"> <p style="text-align: center; margin: 10px;">如果脚本对你有帮助,可以捐助我一瓶快乐水</p> <p style="text-align: center; margin: 10px;">有了快乐水,我就可以写出更多对你有帮助的脚本</p> <button onclick="kaka_has_donate();" style="padding: 5px 10px; background-color: #50a82b; color: #fff; border: none; margin-left: 10px; border-radius: 5px;">我已捐助^_^</button> <button onclick="kaka_not_donate();" style="padding: 5px 10px; background-color: #dc3545; color: #fff; border: none; margin-left: 10px; border-radius: 5px;">我不想捐助</button> </div> </div> `, }); } } function click_course(){ //查找并点击需要学习的课程 for(let i of document.querySelectorAll(".item[data-resource-id]")){ let status = i.querySelector(".operation").innerText let name = i.querySelector(".name-des").innerText if(/(继续学习)|(开始学习)/.test(status)){ GM_setValue("doing",{"name":name,"time":new Date().getTime(),"status":status}) i.click() return true } } return false } if(donate_flag){ if(/study\/subject\/detail/.test(window.location.href)){ // 课程主页,在当前页面实现控制做哪些课程 new ElegantAlertBox("初始化中,请等待>__<") setInterval(function(){ let doing_item = GM_getValue("doing") let next_flag = false if(new Date().getTime()-doing_item.time>1000*20){ //超过20s没有更新状态视为过期 next_flag = true new ElegantAlertBox("准备开始新的课程>__<") }else{ next_flag = false new ElegantAlertBox("貌似有课程正在观看,检查中,请等待>__<") } if (next_flag){ if(click_course() ){ //有需要做的课程,已经点击 new ElegantAlertBox("已打开新的学习页面学习>__<") }else{ new ElegantAlertBox("找不到需要学习的内容>__<") } } },5000) }else if(/study\/course\/detail/.test(window.location.href)){ //视频播放页,做完后给主页一个标志,结束标签页 new ElegantAlertBox("检查中,请等待>__<") setInterval(function(){ let name = document.querySelector("div.title-row > div") if(name){ name = name.innerText }else{return} GM_setValue("doing",{"name":name,"time":new Date().getTime(),"status":"学习中"}) let state = document.querySelector("dl.focus > div.chapter-right > div.section-item.section-item11 > div:nth-child(3) > span") state = state?state.innerText:null if(state == "已完成"){ new ElegantAlertBox("准备播放下一个视频>__<") let courses = document.querySelectorAll("dl") for(let i of courses){ if(i.querySelector("div.chapter-right > div.section-item.section-item11 > div:nth-child(3) > span").innerText != "已完成"){ i.click() return } } new ElegantAlertBox("全部学习完>__<") GM_setValue("doing",{"name":name,"time":new Date().getTime()-1000*30,"status":"已完成"}) GM_setValue(name,{"name":name,"time":new Date().getTime()-1000*30,"status":"已完成"}) window.close() }else{ new ElegantAlertBox("还没有学习完 >__<") if(document.querySelector(".register-mask-layer") && 'display: none;' != document.querySelector(".register-mask-layer").getAttribute("style")){ document.querySelector("#D210registerMask").click() } document.querySelector("video").muted="muted" document.querySelector("button.vjs-big-play-button").click() //开始播放的按钮 } },5000) } } })();