Greasy Fork is available in English.

学习通隐藏答案开关

本脚本用于超星学习通答案隐藏

// ==UserScript==
// @name         学习通隐藏答案开关
// @namespace    http://tampermonkey.net/
// @version      2024-12-10
// @description  本脚本用于超星学习通答案隐藏
// @author       Rikki
// @match        https://mooc1.chaoxing.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=chaoxing.com
// @grant        none
// @license      GPLv3
// ==/UserScript==

var answers;
var buttonInjectPoint;
var buttonObj;
var buttonState = true; // true -> hide_button

function buttonInject(){
    const parentDiv = buttonInjectPoint.parentNode;

    let inject = document.createElement("div");
    inject.className = "analysisCard fl";
    inject.innerHTML = '<a href="#" id="switchButton"></a>';

    inject.addEventListener("click", function (ev) {
        switchButton();
    });

    parentDiv.insertBefore(inject,buttonInjectPoint);

    buttonObj = document.getElementById("switchButton");

    switchButton();
}

function searchItems(){
    answers = document.getElementsByClassName("mark_answer");
    buttonInjectPoint = document.getElementsByClassName("analysisCard fl");
    if(buttonInjectPoint.length == 1){
        buttonInjectPoint = buttonInjectPoint[0];
        buttonInject();
    }
}

function switchButton(){
    console.log("State:" + buttonState);
    if(buttonState == true){
        buttonObj.text = "隐藏答案";
        try{
            hide(false);
        }catch{};
    }else{
        buttonObj.text = "显示答案";
        try{
            hide(true);
        }catch{};
    }

    buttonState = !buttonState;
}

function hide(switch_v){
    for(let i = 0;i<=answers.length;i++){
        answers[i].hidden = switch_v;
    }
}


(function() {
    'use strict';
    searchItems();
})();