Files
UserScripts/OJ评测结果魔改器.user.js

37 lines
1.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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