U校园增加时长(修复必修弹窗)

生命短暂而美好,没时间纠结,没时间计较

  1. // ==UserScript==
  2. // @name U校园增加时长(修复必修弹窗)
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1.3
  5. // @description 生命短暂而美好,没时间纠结,没时间计较
  6. // @author handsometaoa
  7. // @match https://ucontent.unipus.cn/_pc_default/pc.html?cid=*
  8. // @grant none
  9. // @license GPL-3.0
  10. // @compatible chrome
  11. // ==/UserScript==
  12.  
  13. //表示每个页面停留[minMinute分minSeconds秒,maxMinute分钟maxSeconds秒],可以自己设置
  14. var minMinute=4;//最小分钟
  15. var minSeconds=30;//最小秒数
  16. var maxMinute=5;//最大分钟
  17. var maxSeconds=30;//最大秒数
  18.  
  19. //计算实际停留时间,防止每个页面停留时间相同
  20. function realTime() {
  21. let rate = Math.random();
  22. return (minMinute * 60 +minSeconds+((maxMinute-minMinute)*60+maxSeconds-minSeconds)* rate) * 1000;
  23. }
  24. //自动点击必修弹窗和麦克风弹窗 3000表示延迟3秒,因为弹窗有延迟,主要看反应速度。
  25. setTimeout(() => {
  26. //关闭必修提示弹窗
  27. var x = document.getElementsByClassName("dialog-header-pc--close-yD7oN"); x[0].click();
  28. document.querySelector("div.dialog-header-pc--dialog-header-2qsXD").parentElement.querySelector('button').click();
  29. }, 3000);
  30.  
  31. //跳转下一节
  32. function switch_next(selector, classFlag) {
  33. let flag = false;
  34. for (let [index, unit] of document.querySelectorAll(selector).entries()) {
  35. if (flag) {
  36. unit.click();
  37. //防止必修弹窗失效,跳转便刷新页面,1000表示跳转1秒后刷新页面
  38. setTimeout(() => {
  39. location.reload();
  40. }, 1000);
  41. flag = false;
  42. break;
  43. }
  44. if (unit.classList.contains(classFlag)) {
  45. flag = true;
  46. }
  47. }
  48. }
  49. setTimeout(() => {
  50. switch_next('.layoutHeaderStyle--circleTabsBox-jQdMo a', 'selected');
  51. switch_next('#header .TabsBox li', 'active');
  52. switch_next('#sidemenu li.group', 'active');
  53. }, realTime());

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址