// ==UserScript== // @name 💯【U校园】挂必修学习时长防检测 // @namespace http://tampermonkey.net/ // @version 1.21 // @description 🚀针对U校园,实现在必修章节保持挂机积累学习时长 // @author ConRain7 // @match https://ucontent.unipus.cn/_pc_default/pc.html?cid=* // @grant none // @license MIT // @downloadURL https://update.greasyfork.icu/scripts/480741/%F0%9F%92%AF%E3%80%90U%E6%A0%A1%E5%9B%AD%E3%80%91%E6%8C%82%E5%BF%85%E4%BF%AE%E5%AD%A6%E4%B9%A0%E6%97%B6%E9%95%BF%E9%98%B2%E6%A3%80%E6%B5%8B.user.js // @updateURL https://update.greasyfork.icu/scripts/480741/%F0%9F%92%AF%E3%80%90U%E6%A0%A1%E5%9B%AD%E3%80%91%E6%8C%82%E5%BF%85%E4%BF%AE%E5%AD%A6%E4%B9%A0%E6%97%B6%E9%95%BF%E9%98%B2%E6%A3%80%E6%B5%8B.meta.js // ==/UserScript== (function() { 'use strict'; // 定义启动滚动的时间(毫秒) let intervalArticle = getRandomInterval(2, 3) * 1000; let intervalLeft = getRandomInterval(4, 7) * 1000; let intervalRight = getRandomInterval(5, 11) * 1000; // 开始滚动 setTimeout(scrollArticle, intervalArticle); setTimeout(scrollLeft, intervalLeft); setTimeout(scrollRight, intervalRight); function scrollArticle() { let element = document.querySelector('.presentationContent--presentation-article-1vwbU'); if (element) { let scrollAmount = element.clientHeight; element.scrollBy(0, scrollAmount); } setTimeout(scrollArticle, getRandomInterval(2, 300) * 1000); } function scrollLeft() { let element = document.querySelector('.undefined.left'); if (element) { let scrollAmount = element.clientHeight; element.scrollBy(0, scrollAmount); } setTimeout(scrollLeft, getRandomInterval(4, 400) * 1000); } function scrollRight() { let element = document.querySelector('.undefined.right'); if (element) { let scrollAmount = element.clientHeight / 2; element.scrollBy(0, scrollAmount); } setTimeout(scrollRight, getRandomInterval(1, 500) * 1000); } /////////////////////////////// setTimeout(() => { //关闭必修提示弹窗 var x = document.getElementsByClassName("dialog-header-pc--close-yD7oN"); x[0].click(); document.querySelector("div.dialog-header-pc--dialog-header-2qsXD").parentElement.querySelector('button').click(); }, 2500); function getRandomInterval(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } })(); // 弹窗 (function() { 'use strict'; const modalCSS = ` .modal { display: flex; align-items: center; justify-content: center; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.4); } .modal-content { background-color: #fefefe; padding: 20px; border: 1px solid #888; max-width: 34%; max-height: 80%; overflow: auto; } .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .close:hover, .close:focus { color: black; cursor: pointer; } `; const style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = modalCSS; document.head.appendChild(style); const modalHTML = ` `; document.body.insertAdjacentHTML('beforeend', modalHTML); const modal = document.getElementById("myModal"); const span = document.getElementsByClassName("close")[0]; modal.style.display = "flex"; span.onclick = function() { modal.style.display = "none"; }; window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } }; })();