您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
清除雨课堂试卷做题痕迹(仅UI变更,不涉及雨课堂后台数据),便于复习。支持黑暗模式、日光模式(需更新到V3.0.0.RELEASE及以上版本)。支持吃菇子的“手气不错”模式(需更新到V3.1.0.RELEASE及以上版本)。支持设置答题正误并导出错题(需要更新到V4.0.0版本及以上)
// ==UserScript== // @name 清除雨课堂做题痕迹 // @namespace http://tampermonkey.net/ // @version 5.0.0 // @description 清除雨课堂试卷做题痕迹(仅UI变更,不涉及雨课堂后台数据),便于复习。支持黑暗模式、日光模式(需更新到V3.0.0.RELEASE及以上版本)。支持吃菇子的“手气不错”模式(需更新到V3.1.0.RELEASE及以上版本)。支持设置答题正误并导出错题(需要更新到V4.0.0版本及以上) // @author 冰镇杨梅瑞纳冰YYDS // @match https://examination.xuetangx.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=xuetangx.com // @grant none // @license Mozilla Public License 2.0 // ==/UserScript== (function() { 'use strict'; var checkDiv = document.createElement("div"); var rightAnswer; var questions; var congrasDivs=document.getElementsByClassName("congras"); var button; var isClicked = 0; checkDiv.setAttribute("id","test"); document.body.appendChild(checkDiv); var testBlock = document.getElementById("test"); var folded = 0; testBlock.style.height="auto"; testBlock.style.width="auto"; testBlock.style.position="fixed"; testBlock.style.top=0; testBlock.style.right=0; testBlock.style.zindex=1000; testBlock.innerHTML+='<div style="margin:60px;margin-right:10px; z-index:1000; text-align:center;width:150px;" ><button id="start" onClick="ErasAll()" style=\"width:100%; background-color:#4286F3; padding:15px; border-radius:5px;border:0;color:white\">清除答案与水印</button><br><div id="functions"><button id="nightmode" onClick="Night()" style=\"background-color:#002361; width:45%; padding:15px; border-radius:5px;border:0;color:white;margin-top:10px;\">🌙</button><button id="daymode" onClick="Day()" style=\"background-color:#fcd5c0; padding:15px; width:45%;border-radius:5px;border:0;color:white;margin-top:10px;margin-left:10%;\">🌞</button><br><button id="start" onClick="ImFeelingLucky()" width="40px" style=\"background-color:#4286F3; padding:15px; border-radius:5px;border:0;color:white;margin-top:10px;width:100%\">🦚 手气不错</button><br><button id="start" onClick="SaveError()" style=\"background-color:#4286F3; width:100%;padding:15px; margin-top:10px;border-radius:5px;border:0;color:white\">📔只保留错题</button><button id="start" style=\"background-color:#4286F3; width:100%;padding:15px; margin-top:10px;border-radius:5px;border:0;color:white\"><p><a href="http://greasyfork.icu/zh-CN/scripts/446101-%E6%B8%85%E9%99%A4%E9%9B%A8%E8%AF%BE%E5%A0%82%E5%81%9A%E9%A2%98%E7%97%95%E8%BF%B9" style="text-decoration: none;color:white">⏫检查更新</a></p></button></div><button id="foldbtn" onClick="Folding()" width="40px" style=\"background-color:#4286F3; padding:15px; border-radius:5px;border:0;color:white;margin-top:10px;width:100%\">⬆️折叠</button></div>' // Your code here... window.Folding = function(){ var functionarea= document.getElementById("functions"); var foldingbtn= document.getElementById("foldbtn"); if(folded==0){ //未折叠 functionarea.style.display="none"; foldingbtn.innerHTML="⬇️展开"; folded=1; }else{ functionarea.style.display="block"; foldingbtn.innerHTML="⬆️折叠"; folded=0; } } // 保存错题 window.SaveError = function(){ var allCorrects = document.getElementsByClassName("correct"); for(var i=0;i<congrasDivs.length;i++){ allCorrects[i].parentNode.parentNode.style.display="none"; } } window.Night = function(){ var mainbackground = document.getElementsByClassName("exam-main"); mainbackground[0].style.backgroundColor="black"; mainbackground[0].style.backgroundColor="black"; mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("header-content"); mainbackground[0].style.backgroundColor="black"; mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("exam-aside"); mainbackground[0].style.backgroundColor="black"; mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("exam-main--body"); mainbackground[0].style.backgroundColor="#0c0d0d"; mainbackground[0].style.color="#d4d4d4"; mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("item-footer"); for(let i=0;i<mainbackground.length;i++){ mainbackground[i].style.backgroundColor="black"; mainbackground[i].style.color="#d4d4d4"; mainbackground[i].style.transitionDuration="1s"; } mainbackground = document.getElementsByTagName("p"); for(let i=0;i<mainbackground.length;i++){ mainbackground[i].style.color="#d4d4d4"; mainbackground[0].style.transitionDuration="1s"; } var bala = document.getElementsByClassName("radioInput"); for(let i=0;i<bala.length;i++){ bala[i].style.backgroundColor="black"; bala[i].style.color="#d4d4d4"; bala[i].style.transitionDuration="1s"; } } window.Day = function(){ var mainbackground = document.getElementsByClassName("exam-main"); mainbackground[0].style.backgroundColor="#f7f7f7"; mainbackground = document.getElementsByClassName("header-content"); mainbackground[0].style.backgroundColor="white"; mainbackground = document.getElementsByClassName("exam-aside"); mainbackground[0].style.backgroundColor="white"; mainbackground = document.getElementsByClassName("exam-main--body"); mainbackground[0].style.backgroundColor="white"; mainbackground[0].style.color="black"; mainbackground = document.getElementsByTagName("p"); for(let i=0;i<mainbackground.length;i++){ mainbackground[i].style.color="black"; } mainbackground = document.getElementsByClassName("item-footer"); for(let i=0;i<mainbackground.length;i++){ mainbackground[i].style.backgroundColor="#f9f9f9"; mainbackground[i].style.color="black"; mainbackground[i].style.transitionDuration="1s"; } var bala = document.getElementsByClassName("radioInput"); for(let i=0;i<bala.length;i++){ bala[i].style.backgroundColor="white"; bala[i].style.color="#d4d4d4"; bala[i].style.transitionDuration="1s"; } } window.RandomColor=function(){ var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return "rgb(" + r + "," + g + "," + b + ")"; }; window.ImFeelingLucky=function(){ var mainbackground = document.getElementsByClassName("exam-main"); mainbackground[0].style.backgroundColor=RandomColor(); mainbackground[0].style.backgroundColor=RandomColor(); mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("header-content"); mainbackground[0].style.backgroundColor=RandomColor(); mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("exam-aside"); mainbackground[0].style.backgroundColor=RandomColor(); mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("exam-main--body"); mainbackground[0].style.backgroundColor=RandomColor(); mainbackground[0].style.color=RandomColor(); mainbackground[0].style.transitionDuration="1s"; mainbackground = document.getElementsByClassName("item-footer"); let theColor = RandomColor(); let theColor2 = RandomColor(); for(let i=0;i<mainbackground.length;i++){ mainbackground[i].style.backgroundColor=theColor; mainbackground[i].style.color=theColor2; mainbackground[i].style.transitionDuration="1s"; } mainbackground = document.getElementsByTagName("p"); for(let i=0;i<mainbackground.length;i++){ mainbackground[i].style.color=theColor2; mainbackground[0].style.transitionDuration="1s"; } var bala = document.getElementsByClassName("radioInput"); for(let i=0;i<bala.length;i++){ bala[i].style.backgroundColor=theColor; bala[i].style.color=theColor2; bala[i].style.transitionDuration="1s"; } } window.ErasAll = function(){ isClicked++; //设置Css let style = document.createElement('style') style.type = 'text/css'; style.innerHTML = '.right{padding:15px; border-radius:5px;border:0;color:white;margin-left:10px;}'; document.querySelector('head').appendChild(style) //删除水印 var testBody = document.getElementsByClassName("exam-main--content"); var testChild = testBody[0].childNodes; for(i=0; i<testChild.length;i++){ if(testChild[i].getAttribute("class")!="subject-item"){ testBody[0].removeChild(testChild[i]); } } var erasAllBtn = document.getElementById("start"); if(isClicked>1){ // 如果点击次数超过一次,则不执行任何操作 return; } erasAllBtn.innerHTML="水印消失👹"; var i,j; // 删除所有蓝色选项按钮 var sideBar = document.getElementsByClassName('exam-aside'); sideBar[0].style.transitionDuration="1s"; sideBar[0].style.display="none"; var headerbar = document.getElementsByClassName("header"); headerbar[0].style.display="none"; var isChecked = document.getElementsByClassName('el-radio'); for(let i=0;i<isChecked.length;i++){ isChecked[i].className="el-radio is-disabled"; isChecked[i].style.transitionDuration="1s"; } //添加笔记 var itemBodys = document.getElementsByClassName("item-body"); for(i=0;i<itemBodys.length;i++){ itemBodys[i].innerHTML+='<div class="addNotes" style="display:none;"><textarea rows="5" cols="40" class="notes" placeholder="输入笔记" style="width:100%;margin-top:20px;padding:20px;"></textarea></div>'; } //隐藏所有正确答案 rightAnswer = document.getElementsByClassName("item-footer"); for(let g=0;g<rightAnswer.length;g++){ rightAnswer[g].style.display="none"; } //新增显示答案 var questions = document.getElementsByClassName("item-body"); var functionsBar = document.getElementsByClassName("functionbar"); var thisone; var questionChilds; for(i=0;i<questions[i].length; i++){ questionChilds=questions[i].childNodes; for(j=0;j<questionChilds.length;j++){ if(questionChilds[j].getAttribute("class")=="functionbar"){ questions[i].removeChild(questionChilds[j]); } } } for(let t=0;t<questions.length;t++){ var num = t; questions[t].innerHTML+='<div class="functionbar>"><button id="'+t+'" class="ShowAnswerBtn" style="background-color: #4286F3; padding:15px; border-radius:5px;border:0;color:white" onClick="ShowAnswer('+t+')"><p>显示答案</p></button><a id="num" style="display:none;">'+num+'</a><button class="right" style="background-color: #83e939; " onClick="Result('+t+',1)"><p>✔️</p></button><button class="right" style="background-color: #fc9696;" onClick="Result('+t+',2)"><p>❌</p></button><button class="right" style="background-color: #f6a76b;" onClick="Result('+t+',3)"><p>⭐</p></button><button class="right" style="background-color: #d5a6bd;" onClick="Result('+t+',4)"><p>❓</p></button><button class="right" style="background-color: #6d9eeb;" onClick="Result('+t+',5)"><p>📒笔记</p></button></div>'; questions[t].parentNode.parentNode.innerHTML+='<div class="congras" style="display:none"><a style="font-size:200%;">🎉</a><a>答对啦,已隐藏该问题。<br></a><button onClick="RowBack('+t+')" style="background-color: #4286F3; padding:15px; border-radius:5px;border:0;color:white; ">我点错啦😳</button></div>'; } var myTextAnswer = document.getElementsByClassName("subject-answer"); for(i=0;i<myTextAnswer.length;i++){ myTextAnswer[i].innerHTML="🦖你的答案已被脚本吃掉了"; } for(j=0;j<50;j++){ //删除所有的标记(多删几次) var rightAnswerMark = document.getElementsByClassName("dot"); for(i=0;i<rightAnswerMark.length;i++){ let dotParent = rightAnswerMark[i].parentNode; dotParent.removeChild(rightAnswerMark[i]); } } } window.ShowAnswer=function(num){ rightAnswer[num].style.display="block"; var thebutton = document.getElementsByClassName('ShowAnswerBtn'); var foldedAnswer = document.getElementsByClassName('item-footer--body'); for(var i=0;i<foldedAnswer.length;i++){ foldedAnswer[i].style.display="block"; } thebutton[num].style.display="none"; } var isShowNotes=0; window.Result = function(num,type){ //var rightbtns = document.getElementsByClassName('right'); questions = document.getElementsByClassName("result_item"); let questionstitle = document.getElementsByClassName("item-type"); let parent = document.getElementsByClassName("subject-item"); var html; if(type==1){ questions[num].style.display="none"; questions[num].style.transitionDuration="1s"; let thecount = num+1; congrasDivs[num].innerHTML+='<a class="correct"></a>'; var statusid = document.getElementById("correct"); congrasDivs[num].style.display="block"; questions[num].style.transitionDuration="1s"; questions[num].parentNode.transitionDuration="1s"; questions[num].style.backgroundColor=""; questions[num].parentNode.style.backgroundColor=""; }else if(type==2){ var htmforerror = questionstitle[num].innerHTML; questionstitle[num].innerHTML='<a style="background-color:white;padding:5px;border-radius:20px;height:10px;width:10px;">❌</a>'+htmforerror; questionstitle[num].style.transitionDuration="1s"; questionstitle[num].parentNode.transitionDuration="1s"; questionstitle[num].style.backgroundColor="#ffb6dc"; questionstitle[num].style.color="black"; }else if(type==3){ html = questionstitle[num].innerHTML; questionstitle[num].innerHTML='<a style="background-color:white;padding:5px;border-radius:20px;height:10px;width:10px;">⭐</a>'+html; questionstitle[num].style.transitionDuration="1s"; questionstitle[num].parentNode.transitionDuration="1s"; questionstitle[num].style.backgroundColor="#fff500"; questionstitle[num].style.color="black"; }else if(type ==4){ html = questionstitle[num].innerHTML; questionstitle[num].innerHTML='<a style="background-color:white;padding:5px;border-radius:20px;height:10px;width:10px;">❓</a>'+html; questionstitle[num].style.transitionDuration="1s"; questionstitle[num].parentNode.transitionDuration="1s"; questionstitle[num].style.backgroundColor="#d5a6bd"; questionstitle[num].style.color="black"; }else if(type ==5){ var noteAreas = document.getElementsByClassName("addNotes"); noteAreas[num].style.display="block"; } } // “我点错啦”按钮 window.RowBack=function(num){ questions[num].style.display="block"; congrasDivs[num].style.display="none"; var childs = congrasDivs[num].childNodes; congrasDivs[num].removeChild(childs[3]); } })();