autoplay

ischinese

  1. // ==UserScript==
  2. // @name autoplay
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1.6.3
  5. // @description ischinese
  6. // @author qiu6406,guaxiangdeba
  7. // @match https://ischinese.cn/*
  8. // @match https://hn.ischinese.cn/*
  9. // @require https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js
  10. // @icon https://www.google.com/s2/favicons?domain=ischinese.cn
  11. // @grant GM_addStyle
  12.  
  13. // ==/UserScript==
  14.  
  15.  
  16. (function () {
  17. 'use strict';
  18.  
  19. var sections = document.getElementsByClassName("sectionNum");
  20. var items = document.getElementsByClassName("buyCourse_itemMain")
  21. var cursec = 0;
  22. var txt;
  23. var study_css = ".egg_study_btn{outline:0;border:0;position:fixed;top:5px;left:5px;padding:12px 20px;border-radius:10px;cursor:pointer;background-color:#fff;color:#d90609;font-size:18px;font-weight:bold;text-align:center;box-shadow:0 0 9px #666777}.egg_manual_btn{transition:0.5s;outline:none;border:none;padding:12px 20px;border-radius:10px;cursor:pointer;background-color:#e3484b;color:rgb(255,255,255);font-size:18px;font-weight:bold;text-align:center;}.egg_auto_btn{transition:0.5s;outline:none;border:none;padding:12px 20px;border-radius:10px;cursor:pointer;background-color:#666777;color:rgb(255,255,255);font-size:18px;font-weight:bold;text-align:center;}.egg_setting_box{position:fixed;top:70px;left:5px;padding:12px 20px;border-radius:10px;background-color:#fff;box-shadow:0 0 9px #666777}.egg_setting_item{margin-top:5px;height:30px;width:140px;font-size:16px;display:flex;justify-items:center;justify-content:space-between}input[type='checkbox'].egg_setting_switch{cursor:pointer;margin:0;outline:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;width:40px;height:22px;background:#ccc;border-radius:50px;transition:border-color .3s,background-color .3s}input[type='checkbox'].egg_setting_switch::after{content:'';display:inline-block;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:0,0,2px,#999;transition:.4s;top:3px;position:absolute;left:3px}input[type='checkbox'].egg_setting_switch:checked{background:#fd5052}input[type='checkbox'].egg_setting_switch:checked::after{content:'';position:absolute;left:55%;top:3px}";
  24. GM_addStyle(study_css);
  25.  
  26. //页面判断
  27. function checkUrl() {
  28. if (window.location.href.indexOf('play') > 0) {
  29. return 1;
  30. } else if (window.location.href.indexOf('buycourse') > 0) {
  31. return 2;
  32. } else {
  33. return -1;
  34. }
  35.  
  36. }
  37.  
  38. //获取课程位置并跳转
  39. function getPlayItem() {
  40. var pg = new RegExp("\\d*%","g");
  41. for (var i = 0; i < items.length; i++) {
  42. if(pg.exec(items[i].innerText) != '100%'){
  43. items[i].getElementsByClassName('buyCourse_classStudy')[0].click();
  44. break;
  45. }
  46. else{
  47. //公共科目学习完毕,切换到专业科目
  48. console.log('专业科目课程列表');
  49. document.getElementsByClassName('cur')[0].firstChild.click();
  50. break;
  51. }
  52. }
  53. }
  54.  
  55. //获取当前播放位置
  56. function getCurSec() {
  57. for (var i = 0; i < sections.length; i++) {
  58. if (sections[i].parentNode.className == "active") {
  59. cursec = i;
  60. }
  61. }
  62. }
  63.  
  64. //自动播放执行
  65. function check() {
  66. var video = document.getElementsByTagName("video")[0];
  67. getCurSec();
  68. if (video.currentTime == video.duration) {
  69. console.log("播放下一节");
  70. cursec = cursec + 1;
  71. if (cursec == sections.length) {
  72. if(document.getElementsByClassName("progress")[0].innerText.split('\n')[1] == '100%'){
  73. console.log('学习完毕!');
  74. document.getElementsByClassName('nav-list')[3].click();//返回学习中心
  75. }
  76. else {
  77. console.log('学习进度不足100%,重新学习小节');
  78. video.currentTime = 0;//学习进度不到100%,重新学习
  79. }
  80. }
  81. sections[cursec].click();
  82. }
  83. else {
  84. if (video.paused) {
  85. video.play();
  86. }
  87. if(document.getElementsByClassName("el-message-box__wrapper")[0].style.display == 'none') document.getElementsByClassName("el-button el-button--default el-button--small el-button--primary ")[0].click();
  88. console.log('播放中第' + (cursec + 1) + '节:' + video.currentTime / video.duration * 100 + '%')
  89. }
  90. }
  91.  
  92. function init() {
  93. switch (checkUrl()) {
  94. case -1:
  95. console.log("未找到正确页面");
  96. alert("请进入到学习页面!");
  97. break;
  98. case 1:
  99. check();
  100. break;
  101. case 2:
  102. console.log('课程页面');
  103. getPlayItem();
  104. break;
  105. }
  106. }
  107.  
  108.  
  109. var button = document.createElement("button"); //创建一个提示框按钮
  110. button.id = "id001";
  111. button.textContent = "开始学习";
  112. button.className = "egg_study_btn egg_menu";
  113. button.onclick = function (){
  114. console.log('点击了按键');
  115. if ( button.textContent == "开始学习" ) {
  116. window.interval = setInterval(init, 10000);
  117. button.textContent = "正在自动学习!";
  118. } else {
  119. clearInterval(window.interval);//停止
  120. button.textContent = "开始学习";
  121. }
  122. }
  123.  
  124. var x = document.getElementsByTagName("body")[0];
  125. x.append(button);
  126.  
  127. })();

QingJ © 2025

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