您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
hdu pinnacle刷题网站的优化脚本。
当前为
- // ==UserScript==
- // @name Pinnacle Optimize
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description hdu pinnacle刷题网站的优化脚本。
- // @author Lycoiref
- // @match *://pinnacle-primary-fe.mjclouds.com/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=mjclouds.com
- // @license MIT
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- // Your code here...
- // hdu pinnacle刷题网站优化脚本
- window.onload = async () => {
- while(!document.querySelector('.items-center') || !document.querySelector('button') || !document.querySelector('.whitespace-pre-line')) {
- await new Promise((resolve) => {
- setTimeout(resolve, 100)
- })
- }
- let options = document.querySelectorAll('.items-center')
- let btns = document.querySelectorAll('button')
- let question = document.querySelector('.whitespace-pre-line')
- window.addEventListener('keypress', (e) => {
- // QWER分别对应1234个选项
- switch (e.key) {
- case 'q':
- options[0].click()
- break
- case 'w':
- options[1].click()
- break
- case 'e':
- options[2].click()
- break
- case 'r':
- options[3].click()
- break
- }
- // 空格键对应下一题
- if (e.key === ' ') {
- if (btns[1].attributes['disabled']) {
- btns[2].click()
- // 清除focus
- document.activeElement.blur()
- } else {
- btns[1].click()
- }
- }
- })
- // 创建对question的观察进程
- let observerOptions = {
- childList: true,
- subtree: true,
- attributes: true,
- // 监听innerHTML的变化
- characterData: true
- }
- let observer = new MutationObserver((mutations) => {
- console.log('question changed')
- options = document.querySelectorAll('.items-center')
- })
- observer.observe(question, observerOptions)
- }
- })();