37 lines
1.6 KiB
JavaScript
37 lines
1.6 KiB
JavaScript
// ==UserScript==
|
||
// @name OJ评测结果魔改器
|
||
// @namespace https://zymsite.ink/
|
||
// @version 1.0.2
|
||
// @description 胡乱修改评测结果显示页面
|
||
// @author happyZYM
|
||
// @match https://acm.sjtu.edu.cn/OnlineJudge/*
|
||
// @run-at document-idle
|
||
// ==/UserScript==
|
||
|
||
(function() {
|
||
'use strict';
|
||
function replaceTextContent(node, targetText, replacementText) {
|
||
if (node.nodeType === Node.TEXT_NODE) {
|
||
// 如果是文本节点,并且文本内容包含 targetText,则替换成新的文本
|
||
node.nodeValue = node.nodeValue.replace(targetText, replacementText);
|
||
} else {
|
||
// 如果节点是元素节点,需要检查它的文本内容
|
||
node.childNodes.forEach(childNode => replaceTextContent(childNode, targetText, replacementText));
|
||
|
||
// 检查元素的自身文本内容
|
||
if (node.nodeType === Node.ELEMENT_NODE) {
|
||
if (node.hasChildNodes() === false && node.textContent.includes(targetText)) {
|
||
node.textContent = node.textContent.replace(targetText, replacementText);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
replaceTextContent(document.body, 'Accepted', 'Answer Corrupt');
|
||
replaceTextContent(document.body, 'Wrong Answer', 'Wonderful Answer');
|
||
replaceTextContent(document.body, 'Time Limit Exceeded', 'Time Limit Enough');
|
||
replaceTextContent(document.body, 'Disk Limit Exceeded', 'Disk Limit Enough');
|
||
replaceTextContent(document.body, 'Memory Limit Exceeded', 'Memory Limit Enough');
|
||
replaceTextContent(document.body, 'Compile Error', 'Compile Excellent');
|
||
replaceTextContent(document.body, 'Runtime Error', 'Runtime Excellent');
|
||
replaceTextContent(document.body, 'Aborted', 'Approved');
|
||
})(); |