// ==UserScript== // @name 超星泛雅平台学习通表格转填空题 // @namespace moe.canfire.flf // @version 1.0.0 // @description desc超星泛雅平台学习通表格转填空题 // @author mengzonefire // @license MIT // @compatible firefox Tampermonkey // @compatible firefox Violentmonkey // @compatible chrome Violentmonkey // @compatible chrome Tampermonkey // @contributionURL https://afdian.net/@mengzonefire // @match *://mooc1-1.chaoxing.com/* // @resource jquery https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js // @resource sweetalert2Css https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.css // @require https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.js // @require https://cdn.jsdelivr.net/npm/js-base64 // @require https://cdn.staticfile.org/spark-md5/3.0.0/spark-md5.min.js // @require https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_setClipboard // @grant GM_xmlhttpRequest // @grant GM_info // @grant GM_getResourceText // @grant GM_addStyle // @grant unsafeWindow // @run-at document-start // @connect * // @downloadURL https://update.greasyfork.icu/scripts/429941/%E8%B6%85%E6%98%9F%E6%B3%9B%E9%9B%85%E5%B9%B3%E5%8F%B0%E5%AD%A6%E4%B9%A0%E9%80%9A%E8%A1%A8%E6%A0%BC%E8%BD%AC%E5%A1%AB%E7%A9%BA%E9%A2%98.user.js // @updateURL https://update.greasyfork.icu/scripts/429941/%E8%B6%85%E6%98%9F%E6%B3%9B%E9%9B%85%E5%B9%B3%E5%8F%B0%E5%AD%A6%E4%B9%A0%E9%80%9A%E8%A1%A8%E6%A0%BC%E8%BD%AC%E5%A1%AB%E7%A9%BA%E9%A2%98.meta.js // ==/UserScript== "use strict"; var url=window.location.href; String.prototype.trim = function (char, type) { // 去除字符串两侧指定字符str.trim('/') // 去除字符串首尾的全部空白 ' Zhou '.trim() // 去除字符串左侧指定字符 str.trim('/', 'left')) // 去除字符串右侧指定字符 str.trim('/', 'right') if (char) { if (type == 'left') { return this.replace(new RegExp('^\\'+char+'+', 'g'), ''); } else if (type == 'right') { return this.replace(new RegExp('\\'+char+'+$', 'g'), ''); } return this.replace(new RegExp('^\\'+char+'+|\\'+char+'+$', 'g'), ''); } return this.replace(/^\s+|\s+$/g, ''); }; String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } String.prototype.substrCount= function(sourcstr,str) { //sourcstr 源字符串 str 特殊字符 var count=0; while(sourcstr.indexOf(str) != -1 ) { sourcstr = sourcstr.replace(str,"") count++; } return count; } String.prototype.getBefore=function(nvstr,nvSplit){ var p=nvstr.indexOf(nvSplit); if(p<0) return ''; return nvstr.substr(0,p); }// String.prototype.getAfter=function(nvstr,nvSplit){ var p=nvstr.indexOf(nvSplit); if(p<0) return nvstr; return nvstr.substr(p+nvSplit.length); }// //正则的特殊字符串处理 String.prototype.handleRegExSpecialChar=function( str ){ var ss="*.?+$^[](){}|\/"; var str2=''; for(var i=0;i 

'; html=html+'

1、'+s+'

'; for(x=0;x'+String.fromCodePoint(65+x)+'.'+arr[x]+''+'

'; } var answer=arr[arr.length-1].toUpperCase(); if( "ABCDEFG对错".indexOf(answer)==-1){ html=html+'

答案:X

'; //未写答案,随便给一个; }else{ html=html+'

答案:'+answer+'

'; }//if return html; } //总是出现找不到函数的问题;偏门方法,将函数绑定到String对象上; String.prototype.jkimport=function(){ var tabedStr=prompt("复制表格标题,在此粘帖(分隔符\\t及~):\n若标题复杂,可先在记事本中替换\\t为~\n 注:\\t为制表符,格式如下:","学号~姓名~性别____.{{男/女/A}}"); //TAB改为| if (tabedStr== null) return; var html=''; tabedStr=tabedStr.trim(); tabedStr=tabedStr.replaceAll("\t","~"); tabedStr=tabedStr.replaceAll("~~","~"); tabedStr=tabedStr.replaceAll("~","~"); var arr=tabedStr.split("~"); for(i=0;i 

'; html=html+'

'+(i+1)+'、'+arr[i]+''+'

';// 请填写____. html=html+'

答案:无;'+'

'; html=html+'

题型:填空题'+'

'; } }//for $("#questionText").html( html.trim() ); } $(function(){ var btn; var s; if( url.match(/gotoimportpage?/g) ){ btn=$("body > div.wid1260 > p.mainTop > a.Import"); s=$(btn).prop("outerHTML"); s=s.replace("模版导入","填表格转填空") s=s.replace("onclick=\"checkFile()\"","onclick=\" ''.jkimport();\"") $(btn).after(s); $(btn).next().css("border","1px solid red"); } if( url.match(/goToWorkEditor/g) ){//创建作业界面, btn=$("#workForm > div > div.Exam-right.fl > div.Left-btn > li:nth-child(8) > a"); s=$(btn).prop("outerHTML"); s=s.replace("智能导入","快速导入") s=s.replace("smart-import","gotoimportpage") $(btn).after(s); $(btn).next().css("border","1px solid red"); } });