考试宝答题界面优化

优化考试宝答题界面UI,增加按键绑定

目前为 2023-06-19 提交的版本,查看 最新版本

// ==UserScript==
// @name        考试宝答题界面优化
// @namespace   https://github.com/AliubYiero/TemperScripts
// @version     1.1.3
// @description 优化考试宝答题界面UI,增加按键绑定
// @author      Yiero
// @match       https://www.zaixiankaoshi.com/online/*
// @match       https://www.zaixiankaoshi.com/mnks/*
// @icon        https://www.zaixiankaoshi.com/favicon.ico
// @license     GPL
// @grant       GM_addStyle
// ==/UserScript==


"use strict";
GM_addStyle(`
	.app-main {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0;
	}
	
	.middle-container {
		padding: 10px ${16 + 19 + 16 + 10}px;
		border-radius: 10px;
	}
	
	.vip-quanyi,
	.new-footer,
	.header,
	.answer-box-detail,
	.answer-box-detail {
		display: none;
	}
	
`);
window.onload = () => {
    setTimeout(() => {
        const localURL = document.URL.split('/');
        console.log(localURL[localURL.length - 2]);
        if (['online', 'simulation'].indexOf(localURL[localURL.length - 2]) === -1) {
            console.log('非答题界面,已退出');
            return;
        }
        class SubmitAnswerStatusChange {
            static isSubmit = false;
            static submit() {
                this.isSubmit = true;
            }
            static close() {
                this.isSubmit = false;
            }
            static fresh() {
                this.close();
            }
        }
        class OptionObserver extends MutationObserver {
            constructor(Node, callback) {
                super(callback);
                super.observe(Node, {
                    childList: true
                });
            }
        }
        let optionList = document.querySelectorAll('.options-w > .option');
        try {
            new OptionObserver(document.querySelector('.top-hd'), e => {
                new OptionObserver(document.querySelector('.options-w'), e => {
                    optionList = document.querySelectorAll('.options-w > .option');
                });
            });
        }
        catch (e) {
            location.reload();
        }
        window.addEventListener('keydown', e => {
            console.log(e);
            const chosenOptionNumber = parseInt(e.key) - 1;
            if (chosenOptionNumber >= 0 && chosenOptionNumber < optionList.length) {
                optionList[chosenOptionNumber]?.click();
                return;
            }
            const submitAnswer = document.querySelectorAll('.topic [style="clear: both;"]');
            if (submitAnswer.length === 2 && !SubmitAnswerStatusChange.isSubmit && ['Enter'].indexOf(e.key) !== -1) {
                SubmitAnswerStatusChange.submit();
                submitAnswer[0].querySelector('button').click();
                return;
            }
            SubmitAnswerStatusChange.fresh();
            if (['ArrowLeft'].indexOf(e.key) !== -1 || ['NumpadSubtract'].indexOf(e.code) !== -1) {
                document.querySelector('.next-preve > button:nth-of-type(1)').click();
            }
            else if (['Enter', '+', 'ArrowRight'].indexOf(e.key) !== -1) {
                document.querySelector('.next-preve > button:nth-of-type(2)').click();
            }
        });
    }, 1000);
};

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址