您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
答题进度提示,答案备份和恢复
当前为
// ==UserScript== // @name hbjs质量技术网络学习试卷选择助手 // @namespace x_jianp // @version 0.8 // @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== // 本脚本发布地址在 http://greasyfork.icu/zh-CN/scripts/435675 (function() { 'use strict'; // Your code here... let i =0; try { //异常的抛出 //尝试获取成绩 //多人成绩会造成困扰 let yanzheng = document.querySelector("#r > div:nth-child(1) > div.panel-header > div.panel-title"); if (yanzheng.innerText == '我的学习情况') { //先删除成绩再录入 let keys = GM_listValues(); for (let key of keys){ GM_deleteValue(key);} // 录入成绩 let myHis = document.querySelector("#r > div:nth-child(1) > div.panel.datagrid.panel-htop.portal-p.panel-body > div > div > div.datagrid-view2 > div.datagrid-body > table > tbody"); for ( i=0;i<myHis.children.length;i++){ let infoi = myHis.children[i].innerText.split("\n"); GM_setValue(infoi[0],[infoi[4],infoi[2]]); } } } catch(e) { //异常的捕获与处理 } finally { //结束处理 } //尝试写入成绩 let yanzheng = null; try { yanzheng = document.querySelector("#formMain > table > tbody > tr:nth-child(1) > td > h3"); } finally {} if (yanzheng != null) { if (yanzheng.innerText = '请选择规范开始答题'){ for (let j=0 ; j<5;j++ ){ let tiku = document.querySelector("#formMain > table > tbody > tr:nth-child("+String(j*2+3)+") > td"); let tishu = tiku.children.length; for ( i=0;i<tishu;i++){ let tiname = tiku.children[i].querySelector("span > span.l-btn-text").innerText; let chengji = GM_getValue(tiname); if (chengji != null) { let mypro = document.createElement("progress"); mypro.value=chengji[0]; mypro.max=chengji[1]; tiku.children[i].appendChild(mypro); //console.log(tiname+"成功"); } else { //console.log(tiname+"没成绩"); } } } } } })(); (function() { 'use strict'; jQuery(function () { }); try { var myFormDoc = document.getElementById("formMain").children[10].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 qstarnum =Number(document.getElementById("0_QuestionId").value); //console.log(qstartnum); var mytxt = document.getElementById("myinputAnswer").value.split("\n"); if (mytxt.length != 0){ for (var i=0;i<mytxt.length;i++){ document.getElementById(String(i)+"_MyAnswer").value=mytxt[i]; var iqus = mytxt[i].split(';'); for (var j=0;j<iqus.length;j++){ document.getElementsByName(String(i)+"_MyAnswerItem_"+String(qstarnum + i))[j].value=iqus[j]; //console.log(String(i)+"_MyAnswerItem_"+String(qstarnum + i)); //console.log(document.getElementById(String(i)+"_MyAnswerItem_"+String(qstarnum + i))); } } } } 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); })();