富學寶典答題助手——收集答案、展示答案。使用方法,每次答題後點擊“收集”用來保存本次考題中的正確答案,每次答題前點擊“展示”用來將已經保存過的正確答案展示到題目下方。
Size
4.2 KB
Version
3.0.0
Created
Nov 5, 2025
Updated
about 1 month ago
1// ==UserScript==
2// @name 富學寶典答題助手
3// @namespace iedu.foxconn.com
4// @version 3.0.0
5// @description 富學寶典答題助手——收集答案、展示答案。使用方法,每次答題後點擊“收集”用來保存本次考題中的正確答案,每次答題前點擊“展示”用來將已經保存過的正確答案展示到題目下方。
6// @author otc
7// @match https://iedu.foxconn.com/*
8// @license MIT
9// @require https://update.greasyfork.org/scripts/453745/1299382/Web%E6%8C%89%E9%88%95%E6%B3%A8%E5%85%A5.js
10// @downloadURL https://update.greasyfork.org/scripts/482787/%E5%AF%8C%E5%AD%B8%E5%AF%B6%E5%85%B8%E7%AD%94%E9%A1%8C%E5%8A%A9%E6%89%8B.user.js
11// @updateURL https://update.greasyfork.org/scripts/482787/%E5%AF%8C%E5%AD%B8%E5%AF%B6%E5%85%B8%E7%AD%94%E9%A1%8C%E5%8A%A9%E6%89%8B.meta.js
12// ==/UserScript==
13
14(function(){
15function ieduClean() {
16 localStorage.removeItem("answerList")
17}
18
19function ieduCollect() {
20 let lsAnswerList = localStorage.getItem('answerList');
21 let answerList = lsAnswerList ? JSON.parse(lsAnswerList) : [];
22 console.log(answerList);
23 let resultList = document.getElementsByClassName("question_warp");
24 for (let index = 0; index < resultList.length; index++) {
25 result = resultList[index];
26 questionTitle = result.getElementsByTagName("h3")[0].textContent.split(". ")[1];
27 questionOptionListHTML = result.getElementsByClassName("option_list")[0];
28 questionAnswer = result.getElementsByClassName("option_list")[0].getElementsByClassName("answer")[0].textContent;
29 questionAnswer = questionAnswer.split("\n")[0].trim();
30 answerList[answerList.length + 1] = {
31 questionTitle: questionTitle,
32 questionOptionListHTML: questionOptionListHTML,
33 questionAnswer: questionAnswer
34 }
35 }
36 localStorage.setItem("answerList", JSON.stringify(answerList));
37 console.log(localStorage.getItem("answerList"))
38}
39
40function ieduShowAnswer() {
41 let lsAnswerList = localStorage.getItem('answerList');
42 let answerList = lsAnswerList ? JSON.parse(lsAnswerList) : [];
43 if (answerList.length == 0) {
44 alert("请先打一遍题!将答案保存后,再进行此操作!")
45 }
46 let questionList = document.getElementsByClassName("question_warp");
47 for (let index = 0; index < questionList.length; index++) {
48 question = questionList[index];
49 questionTitle = question.getElementsByTagName("h3")[0].textContent.split(". ")[1];
50 filterdList = answerList.filter(function(c) {
51 if (!c) return false;
52 if (questionTitle == c.questionTitle) {
53 return true
54 }
55 })
56 console.log(filterdList);
57 for (let j = 0; j < filterdList.length; j++) {
58 console.log(filterdList[j].questionAnswer);
59 questionAnswerValue = filterdList[j].questionAnswer.split(':')[1]
60 question.append(questionAnswerValue);
61 console.log(question);
62 let options = question.getElementsByTagName("label")
63 for (let option of options) {
64 for(let v of questionAnswerValue.split("")){
65 if(option.textContent.replaceAll("\n","").replaceAll("\t","").startsWith(v)){
66 option.click()
67 }
68 }
69
70 }
71 }
72 }
73}
74
75function ieduSearch(questionTitle) {
76 let lsAnswerList = localStorage.getItem('answerList');
77 let answerList = lsAnswerList ? JSON.parse(lsAnswerList) : [];
78 if (answerList.length == 0) {
79 alert("请先打一遍题!将答案保存后,再进行此操作!")
80 }
81 let questionList = document.getElementsByClassName("question_warp");
82 filterdList = answerList.filter(function(c) {
83 if (!c) return false;
84 if (questionTitle == c.questionTitle) {
85 return true
86 }
87 }) ;
88 for (let index = 0; index < filterdList.length; index++) {
89 console.log(JSON.stringify(filterdList[index]))
90 }
91}
92
93
94const buttons = [
95 { name: '第一步:收集(請在答題完畢後觸發)', func: ieduCollect },
96 { name: '第二步:展示(請在答題前觸發)', func: ieduShowAnswer }
97];
98createButtons(buttons);
99})();