您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
答题进度提示,答案备份和恢复
当前为
// ==UserScript== // @name hbjs质量技术网络学习试卷选择助手 // @namespace x_jianp // @version 1.0.9 // @description 答题进度提示,答案备份和恢复 // @author x_jianp // @match http://mis.hebjs.com.cn/* // @grant unsafewindow // @grant GM_setValue // @grant GM_getValue // @grant GM_listValues // @grant GM_deleteValue // @require http://code.jquery.com/jquery-latest.js // ==/UserScript== // 本脚本发布地址在 https://gf.qytechs.cn/zh-CN/scripts/435675 //1.0.6更新:答题统计年限增加2023年, //1.0.5更新:答题统计年度显示图片改为竖向,15x24p,精简显示效果。更正部分试卷没有统计到答案的bug。 //图片版本更正: //2023 <img src="https://img1.imgtp.com/2023/02/13/CeB1pI4o.png" alt="V2023.png" title="V2023.png" /> //2022 <img src="https://img1.imgtp.com/2023/02/13/qDkns9Hy.svg" alt="v2022.svg" title="v2022.svg" /> //2021 <img src="https://img1.imgtp.com/2023/02/13/06CyEfBW.svg" alt="v2021.svg" title="v2021.svg" /> // 2021 https://imgloc.com/i/cglio 02/13, 保存1年 // 2022 https://imgloc.com/i/cg0SA // 2023 https://imgloc.com/i/cgwbN // 成绩查询================================== (function() { 'use strict'; //成绩进度查询 // //在"/Technic/Exam/AnswerNotes/ListAsJson?UnitId=1&&rows=200"文件中有全部答题记录。 //1.读取JSON,处理数据 //2.便历页面中的试卷名称,添加年度标识图标,实现鼠标on事件,显示成绩。 //在规范答题的时候刷新成绩,不再做存储。 let myJson = new Object; let yanzheng = null; try { yanzheng = document.querySelector("#formMain > table > tbody > tr:nth-child(1) > td > h3"); } finally {} if (yanzheng != null) { if (yanzheng.innerText = '请选择规范开始答题'){ // alert("新成绩读入开始工作"); console.log("成绩读取开始"); //let keys = GM_listValues(); //for (let key of keys){ GM_deleteValue(key);} var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { //GM_setValue('chengji',this.responseText); myJson = JSON.parse(this.responseText).rows; //chengji = myJson.rows; //console.log(myJson); for (let j=0 ; j<6;j++ ){ let tiku = document.querySelector("#formMain > table > tbody > tr:nth-child("+String(j*2+3)+") > td"); let tishu = tiku.children.length; for (let i=0;i<tishu;i++){ //innerText 将取回文字中的两个空格,精简成了一个。造成部分试卷成绩查询失败。原因是innerText是基于浏览器显示的,会基于CSS,性能比不上textContent。 // let tiname = tiku.children[i].querySelector("span > span.l-btn-text").innerText; let tiname = tiku.children[i].querySelector("span > span.l-btn-text").textContent; //筛选数据. let chengji = myJson.filter(function(e){ return e.BankName.value==tiname}); //console.log(chengji); let years = {}; if (chengji.length != 0) { for (let k=0; k<chengji.length;k++){ var year = chengji[k].CreatedDate.split("-")[0]; years[year]=year; //console.log(years); } for (var key in years){ var imgy = document.createElement("img"); switch(key) { case "2020": imgy.src = "https://img1.imgtp.com/2022/08/23/lMc5hns8.svg"; break; case '2021': imgy.src = "https://i.imgloc.com/2023/02/13/cglio.png" ; break; case '2022': imgy.src = "https://i.imgloc.com/2023/02/13/cg0SA.png" ; break; case '2023': imgy.src = "https://i.imgloc.com/2023/02/13/cgwbN.png"; break; default: var btn = document.createElement("button"); var btt1 = document.createTextNode(years[key]); btn.appendChild(btt1); tiku.children[i].appendChild(btn); } tiku.children[i].appendChild(imgy); } } else { console.log(tiname+"没成绩"); } } } } }; xmlhttp.open("GET", "/Technic/Exam/AnswerNotes/ListAsJson?UnitId=1&&rows=200", true); xmlhttp.send(); } } })(); //成绩查询结束=========================================== /* let time = "2019-08-01 18:56:38"; let dateTime = new Date(time.replace(/-/g, "/")); // replace方法将 - 转为 / let dateNow = new Date(); // 获取当前时间 let timeDiff = dateNow.getTime() - dateTime.getTime(); // 时间差的毫秒数 // timeDiff = 时间戳差值 let days = Math.floor(timeDiff / (24 * 3600 * 1000)); // 计算出天数 let leavel1 = timeDiff % (24 * 3600 * 1000); // 计算天数后剩余的时间 let hours = Math.floor(leavel1 / (3600 * 1000)); // 计算天数后剩余的小时数 let leavel2 = timeDiff % (3600 * 1000); // 计算剩余小时后剩余的毫秒数 let minutes = Math.floor(leavel2 / (60 * 1000)); // 计算剩余的分钟数 console.log(`${days}天${hours}时${minutes}分`) */ //答题辅助================================================ (function() { 'use strict'; //答题助手 jQuery(function () { }); try { var myFormDoc = document.getElementById("formMain").children[11].children[0]; //页面结构变了的时候,注意这里 } catch(e){} finally{} if (myFormDoc != null) { var qnum = (myFormDoc.children.length-3)/2; var butt = $('<a/>',{ 'id': 'upAnswer', 'href':'javascript:void(0)', 'onclick':'up_myanswer()' }).text('答案恢复'); var dbutt = $('<a/>',{ 'id': 'downAnswer', 'href':'javascript:void(0)', 'onclick':'down_myanswer()' }).text(' 答案导出'); unsafeWindow.up_myanswer = function up_myanswer() { alert("该插件仅用于答题暂停时,答案备份和恢复,请正规使用。规范学习"); console.log("btn_ok"); //var timeDiff = 0; var dateNow = new Date(); let timerp=GM_getValue('timer'); if (timerp == undefined){var dataTime = new Date("1984-1-1");} else { dataTime = new Date(timerp)}; var timeDiff=dateNow.getTime() - dataTime.getTime(); if (timeDiff > 20*60*1000) { GM_setValue("timer",dateNow.toUTCString()); var mytxt = document.getElementById("myinputAnswer").value.split("\n"); if (mytxt.length != 0){ try { for (var i=0;i<mytxt.length;i++){ document.getElementById(String(i)+"_MyAnswer").value=mytxt[i]; var iqus = mytxt[i].split(';'); var qusid = document.getElementById(String(i)+"_QuestionId").value; //更正题库答案的时候会影响QUSID的数值,不再是连续的,所以每次都需要读取ID来继续分步。这意味着以前的答案可能拿不了满分 for (var j=0;j<iqus.length;j++){ try {document.getElementsByName(String(i)+"_MyAnswerItem_"+String(qusid))[j].value=iqus[j]; } catch(e) {} finally {} //console.log(String(i)+"_MyAnswerItem_"+String(qstarnum + i)); //console.log(document.getElementById(String(i)+"_MyAnswerItem_"+String(qstarnum + i))); } //document.getElementById(String(i)+"_MyAnswer").type=""; //显示答案统计信息 } }catch(e) {} finally {} } } else { alert("两次答题时间间隔未满20分钟,请保持克制~!!");}; } unsafeWindow.down_myanswer = function down_myanswer(){ var mytxt = "" for (var i=0;i<qnum;i++){ mytxt += document.getElementById(String(i)+"_MyAnswer").value + "\n"; } document.getElementById("myinputAnswer").value=mytxt; } $("#formMain").append(butt); $('#formMain').append(dbutt); $('#formMain').append('<textarea id="myinputAnswer"></textarea>'); } //$('#formMain').append('<button id="upanswer_btn">上传答案</button>'); /* for (var i=0;i<qnum;i++) { document.getElementById(String(i)+"_MyAnswer").type="text"; } */ //document.getElementById("formMain").appendChild(btn); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址