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)
}
})();