您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
storehouse
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/496250/1384123/hnzxxjsfzw.js
(function() { 'use strict'; /* globals jQuery, $, waitForKeyElements */ unsafeWindow.GM_setValue = GM_setValue unsafeWindow.GM_getValue = GM_getValue unsafeWindow.GM_xmlhttpRequest = GM_xmlhttpRequest unsafeWindow.GM_deleteValue = GM_deleteValue // 创建一个新的 script 标签 var script = document.createElement('script'); script.textContent = 'window.alert = function(){};'; // 将 script 标签插入到页面的 head 中 document.head.appendChild(script); // 检查当前窗口是否为顶层窗口 if (window.self !== window.top) { return; // 如果不是顶层窗口,则不执行脚本 } 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 = 0; var sectionCount = 0; var sectionId = 0; var studyTime = 0; var totalTime = 0; var elementsArray = 0; var timeStr = null; var search = null; var searchVD = null; var searchFC = null; var coursIndex = 0; var allCours = 0; var nowUrl = ""; /** * 请求地址 * @type {string} */ var href = 'https://learning.mhtall.com/rest/user/course/lesson/onexit?'; /** * 获取cookie * @returns {*} */ function getCookie(){ return document.cookie; } /** * 获取course_id * @returns {*} */ function courseId(url){ const queryString = url.split('?')[1]; const urlParams = new URLSearchParams(queryString); const course_id = urlParams.get('course_id'); return course_id; } /** * 获取course_uuid * @returns {*} */ function courseUuid(url){ const queryString = url.split('?')[1]; const urlParams = new URLSearchParams(queryString); const course_uuid = urlParams.get('course_uuid'); return course_uuid; } /** * 获取course_code * @returns {*} */ function courseCode(url){ const queryString = url.split('?')[1]; const urlParams = new URLSearchParams(queryString); const course_code = urlParams.get('course_code'); return course_code; } /** * 获取lesson_id * @returns {*} */ function lessonId(){ return document.getElementsByClassName("chapter-course js-chapter-course")[sectionId-1].children[0].getAttribute("lesson-id"); } /** * 获取video_position * @returns {*} */ function videoPosition(){ return document.getElementsByClassName("chapter-course js-chapter-course")[sectionId-1].children[0].getAttribute("video-position"); } /** * 获取video_duration * @returns {*} */ function getVdDuration(){ timeStr = document.getElementsByClassName("course-list-header")[sectionId-1].getElementsByClassName("tt-suffix js-tt-suffix")[0].innerText; let a = timeStr.substring(7,9) let b = timeStr.substring(10,12) var videoDuration = (parseInt(a)*60) + parseInt(b) return videoDuration; } function saveHomeUrl(){ let homeUrl = window.location.href; GM_setValue('homeUrl',homeUrl); } function getHomeUrl(){ return GM_getValue('homeUrl'); } function saveChapterUrl(){ let chapterUrl = window.location.href; GM_setValue('chapterUrl',chapterUrl); } function getChapterUrl(){ return GM_getValue('chapterUrl'); } function searchCours(){ if(chapterId < chapterCount){ sectionCount = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li').length; if(sectionId < sectionCount){ let contentStr = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[0].innerText; if(contentStr != '该章节暂无课程信息,请返回课程列表选课或刷新后重试。请点击刷新!'){ let fenzi = parseInt(document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[1].children[0].innerText); let fenmu = parseInt(document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[1].innerText.split('/')[1]); if(fenzi < fenmu){ setTimeout(function(){ addMessage("学习"+(chapterId+1)+"章"+(sectionId+1)+"节"); addMessage("10S后关闭此页"); document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[0].click(); setTimeout(function(){ window.close(); },1000 * 10); },1500); }else{ sectionId++; searchCours(); } } else{ sectionId = 0; chapterId++; searchCours(); } }else{ sectionId = 0; chapterId++; searchCours(); } }else{ } } search = function(){ if(tempTime >= 800){ addMessage("课程完成"+tempTime+"/800,10秒后回主页"); setTimeout(function(){ window.open(getHomeUrl(),'_self'); },10000); return; } if(chapterId < chapterCount){ sectionCount = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li').length; searchSection(); }else{ if(tempTime < 800){ addMessage(tempTime+"/800"); addMessage("课程进度未达标,检索未完成章节"); chapterId = 0; sectionId = 0; searchCours(); return; } else{ addMessage("课程完成"+tempTime+"/800,10秒后回主页"); setTimeout(function(){ window.open(getHomeUrl(), "_self"); },10000); } } } function searchSection(){ if(sectionId < sectionCount){ let contentStr = document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[0].innerText; if(contentStr != '该章节暂无课程信息,请返回课程列表选课或刷新后重试。请点击刷新!'){ let fenzi = parseInt(document.querySelector("#courseList").children[chapterId].getElementsByTagName('li')[sectionId].children[1].children[0].innerText); tempTime = tempTime + fenzi; sectionId++; search(); } else{ sectionId = 0; chapterId++; search(); } }else{ sectionId = 0; chapterId++; search(); } } var elements = null; searchVD = function(){ elements = document.getElementsByClassName("title course-title js-course-title"); nowUrl = window.location.href; elementsArray = Array.from(elements); for(let i=0; i<elementsArray.length; i++){ if(elementsArray[i].className === "title course-title js-course-title course-active"){ sectionId = i + 1; break; } } if(sectionId <= elementsArray.length){ addMessage("\u5f53\u524d\u64ad\u653e\u7b2c"+sectionId+"\u4e2a\u89c6\u9891\u3002"); document.getElementsByTagName("video")[0].volume = 0; document.getElementsByTagName("video")[0].play(); let timeStr0 = document.getElementsByClassName("course-list-header")[sectionId-1].getElementsByClassName("tt-suffix js-tt-suffix")[0].innerText var searchJD = setInterval(function(){ timeStr = document.getElementsByClassName("course-list-header")[sectionId-1].getElementsByClassName("tt-suffix js-tt-suffix")[0].innerText; if(parseInt(timeStr.substring(1,3)) >= parseInt(timeStr0.substring(7,9))){ if(parseInt(timeStr.substring(4,6)) >= parseInt(timeStr0.substring(10,12))){ addMessage("\u7b2c"+sectionId+"\u4e2a\u89c6\u9891\u64ad\u653e\u5b8c\u6210\u3002"); if(sectionId == elementsArray.length){ ddds3.children().remove(); addMessage("\u5f53\u524d\u79d1\u76ee\u5df2\u5b8c\u524d\u5f80\u4e0b\u4e00\u79d1\uff01"); clearInterval(searchJD); // window.open("https://se.mhtall.com/cuggw/rs/index", "_blank"); window.open(getHomeUrl(), "_blank"); }else{ setTimeout(function(){ document.getElementsByClassName("course-list-header")[sectionId].click(); clearInterval(searchJD); setTimeout(function(){ searchVD(); },800); },100); } }else{ addMessage("\u7b2c"+sectionId+"\u4e2a\u5373\u5c06\u5b8c\u6210\uff0c\u8bf7\u7a0d\u540e..."); } }else{ // addMessage("\u7b2c"+sectionId+"\u4e2a\u89c6\u9891\u5b66\u4e60\u4e2d\uff0c\u8bf7\u7b49\u5f85\u3002"); try{ GM_xmlhttpRequest({ url: href+"course_id="+courseId(nowUrl)+"&course_uuid="+courseUuid(nowUrl)+"&course_code="+courseCode(nowUrl)+"&client_type=99&lesson_id="+lessonId()+"&finish_len=11&video_position="+videoPosition()+"&video_duration="+getVdDuration(), method: "GET", Cookie: getCookie(), onload: function(response) { // addMessage("response"+response.responseText); } }) } catch(e){ addMessage(e+"异常退出"); } } },168); }else{ ddds3.children().remove(); addMessage("\u5f53\u524d\u79d1\u76ee\u5df2\u5b8c\u524d\u5f80\u4e0b\u4e00\u79d1\uff01"); clearInterval(searchJD); // window.open("https://se.mhtall.com/cuggw/rs/index", "_blank"); window.open(getHomeUrl(), "_blank"); } } const panel = function(){ var container = $('<div id="gm-interface"></div>'); var titleBar = $('<div id="gm-title-bar">\ud83c\udf49\u897f\u74dc\u7f51\u8bfe\u52a9\u624b\ud83c\udf49</div>'); var minimizeButton = $('<div title="\u6536\u8d77" style="display:black"><svg id="gm-minimize-button" class="bi bi-dash-square" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M14 1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/><path fill-rule="evenodd" d="M3.5 8a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5z"/></svg></div>'); var maxButton = $('<div title="\u5c55\u5f00" style="display:none"><svg id="gm-minimize-button" class="bi bi-plus-square" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 3.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H4a.5.5 0 0 1 0-1h3.5V4a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H8.5V12a.5.5 0 0 1-1 0V8z"/><path fill-rule="evenodd" d="M14 1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/></svg></div>'); var content = $('<div id="gm-content"></div>'); var tips = $('<div class="tip" style="display:none;">\u957f\u6309\u62d6\u62fd</div>'); var scrollText = $('<marquee>').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 = $('<div style="position: absolute;top: 85%;width:90%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;">\u70b9\u51fb\u542f\u52a8\uff1a<button id="beginExam" style="position: absolute;width:48px;right: 10px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">开始答题</button></div>'); // var ddds5 = $('<div style="position: absolute;top: 35%;width:90%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;">\u70b9\u51fb\u542f\u52a8\uff1a<button id="stopxg" style="position: absolute;width:48px;right: 10px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">暂停</button></div>'); //var ddds2 = $('<div style="position: absolute;top: 85%;width:90%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;">\u89c6\u9891\u500d\u901f\uff1a<button id="speedxg" style="position: absolute;width:48px;right: 10px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">X16</button></div>'); ddds3 = $('<div id="message-container" style="position: absolute;display: grid;align-content: center;justify-content: center;top: 20%;width:94%;height:62%;max-height:62%;overflow-y:auto;padding: 3px;background: #ffffff;border-radius: 5px;"></div>'); var ddds4 = $('<div style="position: absolute;top: 85%;width:94%;height:10%;padding: 3px;background: #ffedf0;border-radius: 5px;"><button id="delData" style="position: absolute;width:129px;right: 20px;background-color: #ffe5e5;border-radius: 4px;border-color: #ffc0c0;color: grey;">清空缓存</button></div>'); 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: 422 }); }); ddds3.on('mousewheel', function(event) { event.preventDefault(); var scrollTop = ddds3.scrollTop(); ddds3.scrollTop(scrollTop + event.originalEvent.deltaY); }); $("#delData").on('click',function(){ ddds3.children().remove(); GM_deleteValue('courseIndex'); addMessage("已清空缓存"); }); addMessage = function(message){ if (ddds3.children().length >= 15) { ddds3.children().first().remove(); } var messageElement = $('<div class="message"></div>').text(message).css({ 'margin-bottom': '10px' }).appendTo(ddds3); } } function getAnswer(){ let oldData = GM_getValue('mhtAnswerList'); if (Array.isArray(oldData)) { return oldData; } return []; } function saveAnswer(answer_key,answer){ let mhtAnswerList = getAnswer(); let juge = mhtAnswerList.some(obj => obj.hasOwnProperty(answer_key)); if (juge) { addMessage("该答案已存在..."); console.log("该答案已存在"); return false; } let tempMap = {}; tempMap[answer_key] = answer; mhtAnswerList.push(tempMap); // console.log(mhtAnswerList); GM_setValue('mhtAnswerList',mhtAnswerList); return true; } var answer_key panel(); addMessage("\u002d\u002d\u002d\u002d\u6b63\u5728\u542f\u52a8\uff0c\u8bf7\u7a0d\u540e\u002e\u002e\u002e\u002d\u002d\u002d\u002d"); if(!GM_getValue('aotuTest')){ GM_setValue('aotuTest',false); }else{ $("#btnAotu").text("自动答题:开启"); } function tipsWin(){ return new Promise((resolve, reject) => { var popup = document.createElement('div'); popup.id = 'customPopup'; popup.style.display = 'none'; popup.style.position = 'fixed'; popup.style.top = '50%'; popup.style.left = '50%'; popup.style.transform = 'translate(-50%, -50%)'; popup.style.backgroundColor = '#fff'; popup.style.padding = '20px'; popup.style.border = '1px solid #ccc'; popup.style.boxShadow = '0 2px 4px rgba(0, 0, 0, 0.2)'; popup.style.zIndex = '9999'; popup.innerHTML = ` <p id="timeCount">5秒后执行脚本?</p> <button id="confirmButton">是</button> <button id="cancelButton">否</button> `; document.body.appendChild(popup); var confirmButton = document.getElementById('confirmButton'); var cancelButton = document.getElementById('cancelButton'); var confirmed = false; let juNext = false; popup.style.display = 'block'; confirmButton.addEventListener('click', function() { confirmed = true; closePopup(); resolve(false); }); cancelButton.addEventListener('click', function() { ddds3.children().remove(); addMessage("刷新页面即可重启"); confirmed = true; closePopup(); resolve(true); }); function ju(time){ if(!confirmed){ if(time < 1){ popup.innerHTML = ` <p>时间到了! 脚本启动.</p>`; setTimeout(function() { closePopup(); resolve(false); }, 1000); } else{ document.getElementById('timeCount').innerText = time+'秒后执行脚本?'; } setTimeout(function(){ ju(--time) },1000); } } ju(5); function closePopup() { popup.style.display = 'none'; } }); } function getCourseIndex(){ let oldData = GM_getValue('courseIndex'); if (Array.isArray(oldData)) { return oldData; } return []; } function setCourseIndex(indexList){ GM_setValue('courseIndex',indexList); return true; } var wait = null; var overlay; // 手动启动定时器 function startTimer() { wait = setInterval(function (){ ddds3.children().first().remove(); if(window.location.href.split('?')[0] === 'https://ifang.hnteacher.net/HTML/WorkShops/workshop-courses.html'){ addMessage("选课页"); saveHomeUrl(); tipsWin().then((result) => { if(!result){ setTimeout(function(){ addMessage("启动"); allCours = document.querySelector("#courseList").childElementCount; if(allCours <= 0){ addMessage("无待学课程"); stopTimer(); return; } if(getCourseIndex()[0] === 'x'){ addMessage("课程学习完毕,清除缓存刷新即可重启"); return; } else if(getCourseIndex().length < 1){ addMessage("新记录"); let indexList = []; for(let i=0;i<allCours;i++){ indexList.push(i); } setTimeout(function(){ setCourseIndex(indexList); xuanKe(0,allCours); },1000); } else{ addMessage("读取记录"); xuanKe(0,allCours); } },1000); }else{ addMessage("取消"); } }); } else if(window.location.href.split('?')[0] === 'https://ifang.hnteacher.net/HTML/WorkShops/workshop-course-details.html'){ addMessage("章节列表"); saveChapterUrl(); tipsWin().then((result) => { if(!result){ setTimeout(function(){ addMessage("启动"); chapterCount = document.querySelector("#courseList").childElementCount; search(); },1000); }else{ addMessage("取消"); } }); } else if(window.location.href.split('?')[0] === 'https://ifang.hnteacher.net/HTML/WorkShops/workshop-course-play.html'){ addMessage("学习页"); tipsWin().then((result) => { if(!result){ setTimeout(function(){ addMessage("启动"); let cTime = parseInt(document.querySelector("#_ctime").innerText) + 2; listenTime(cTime); },1000); }else{ addMessage("取消"); } }); } else{ addMessage("请先前往选课界面"); addMessage("tips:"); addMessage("选课界面若无自动跳转,请检查浏览器地址栏"); addMessage("提示选择允许跳转与重定向"); } stopTimer(); }, 100); } // 手动停止定时器 function stopTimer() { clearInterval(wait); } startTimer(); function toggleOverlay(show) { if (show) { overlay = document.createElement('div'); overlay.style.position = 'fixed'; overlay.style.top = '0'; overlay.style.left = '0'; overlay.style.width = '100%'; overlay.style.height = '100%'; overlay.style.backgroundColor = 'rgba(0, 0, 0, 0.5)'; overlay.style.zIndex = '9999'; overlay.addEventListener('click', function(event) { event.stopPropagation(); event.preventDefault(); }); document.body.appendChild(overlay); } else { if (overlay) { overlay.parentNode.removeChild(overlay); overlay = null; } } } function reloadPage(){ setInterval(function (){ window.location.reload() },1000*60*33); } var cIndex = 0; function xuanKe(index,count){ if(index < count){ if(!document.querySelector("#courseList").getElementsByTagName('input')[0].checked){ document.querySelector("#courseList").getElementsByTagName('input')[index].click(); setTimeout(function(){ cLCount = document.querySelector("#courseList2").childElementCount; cIndex = index; xuanKeTow(0,cLCount); },1000); }else{ addMessage("无需选课"); tempTime = 0; setTimeout(function(){ xuanKe(++cIndex,allCours); },1000); } } else{ addMessage("已完成选课course"); setTimeout(function(){ let oldCourseIndex = getCourseIndex(); console.log(oldCourseIndex); let a = oldCourseIndex[0]; oldCourseIndex.shift(); if(oldCourseIndex.length < 1){ oldCourseIndex.push('x'); } console.log(a); setCourseIndex(oldCourseIndex); if(a >= count || a === undefined || a === 'x'){ addMessage("请清空缓存刷新重启"); return; } document.querySelector("#courseList").children[a].querySelector('a').click(); },1000); } } var cLCount = 0; var tempTime = 0; function xuanKeTow(index,count){ if(index < count){ if(tempTime < 13.4){ tempTime = tempTime + parseFloat(document.querySelector("#courseList2").children[index].getElementsByTagName('span')[0].innerText.split(':')[3]); document.querySelector("#courseList2").children[index].getElementsByTagName('input')[0].click(); addMessage("已选:"+tempTime+"小时"); xuanKeTow(++index,count) } else{ addMessage("已完成选课time,"); document.querySelector("#btn_sub").click(); tempTime = 0; setTimeout(function(){ xuanKe(++cIndex,allCours); },1000); } } else{ addMessage("已完成选课count"); document.querySelector("#btn_sub").click(); tempTime = 0; setTimeout(function(){ xuanKe(++cIndex,allCours); },1000); } } var min = 0; function listenTime(ctime){ min = parseInt(document.querySelector("#min").innerText); // addMessage(ctime+"/"+min); if(ctime <= min){ addMessage("学习已达标"); setTimeout(function(){ window.open(getChapterUrl(),'_self'); },3000); } else{ addMessage("学习未达标"); setTimeout(function(){ listenTime(ctime) },1000 * 30); } } })();