您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ジャッジの進行状況をデスクトップ通知で表示
- // ==UserScript==
- // @name AtCoderJudgeStatusNotifier
- // @namespace https://twitter.com/merom686
- // @version 1.0
- // @description ジャッジの進行状況をデスクトップ通知で表示
- // @author merom686
- // @match https://atcoder.jp/contests/*/submissions/me*
- // @grant GM_notification
- // @grant window.focus
- // ==/UserScript==
- (function(){
- const cAC = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAALklEQVRYhe3OIQEAAAgDsAd9UNpBDMzE/NLpfoqAgICAgICAgICAgICAgMB34ABPc7yI0MaTwgAAAABJRU5ErkJggg==';
- const cWA = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAL0lEQVRYhe3OIQEAAAgDMBLSlG40gBg3E/Ornb6kEhAQEBAQEBAQEBAQEBAQSAcediCopjwhoTMAAAAASUVORK5CYII=';
- const cWJ = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAALElEQVRYhe3OoQEAAAwCIL/2/O0MC4FO2t5SBAQEBAQEBAQEBAQEBAQE1oEHZKaQiHWRRSkAAAAASUVORK5CYII=';
- let s0 = '';
- const observer = new MutationObserver(mutations => {
- for (const mutation of mutations) {
- for (let node of mutation.addedNodes) {
- if (node.tagName == 'SPAN') node = node.parentNode;
- if (node.tagName == 'TD') {
- const text = node.innerText;
- if (text == 'WJ') continue;
- const td = node.parentNode.getElementsByTagName('TD');
- const s1 = td[1].textContent + ' (' + td[0].textContent + ')\n\n' + text;
- if (s1 == s0) continue; else s0 = s1;
- GM_notification({
- title: 'AtCoderJudgeStatusNotifier',
- text: s1,
- image: text == 'AC' ? cAC : /[A-Z]/.test(text) ? cWA : cWJ,
- timeout: /[A-Z]/.test(text) ? 10000 : 2000,
- onclick: () => window.focus(),
- });
- }
- break;
- }
- }
- });
- observer.observe(document, {childList:true, subtree:true});
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址