atcoderの問題文がたまに文字化けします。縛りプレイ用。
// ==UserScript==
// @name 文字化けcoder
// @namespace http://tampermonkey.net/
// @version 1
// @description atcoderの問題文がたまに文字化けします。縛りプレイ用。
// @author @neet1737984
// @license MIT
// @match https://atcoder.jp/*_*
// @grant none
// ==/UserScript==
const bakemozi = "蜀?捉荳翫蛟九?轤ケ縺檎ュ蛾俣髫斐荳ヲ繧薙〒縺翫縲縲繧狗縺九縺ヲ譎ィ縺セ縺ァ縺ョ逡ェ蜿キ縺御サ倥¢繧峨蠑ヲ縺ゥ縺?@縺ョ莠、轤ケ縺悟ュ伜惠縺吶k縺?°蛻、螳壹@縺ヲ縺上□縺輔>縲縺ヲ縺?∪縺吶?�����������";
const jatch = /^[\p{scx=Hiragana}\p{scx=Katakana}\p{scx=Han}]+$/u;
const CORRUPTION_P = 0.2;
(function() {
'use strict';
// Your code here...
let content = document.querySelectorAll('div.col-sm-12');
if(content.length==2){
let elements = content[1].querySelectorAll('p,h3,li');
elements.forEach(element => {
element.childNodes.forEach(child => {
if (child.nodeType === Node.TEXT_NODE) {
let s = child.textContent;
let t = ""
for (var i = 0; i < s.length; ++i) {
if(jatch.test(s[i]) && Math.random()<CORRUPTION_P){
t += bakemozi[Math.floor(Math.random()*bakemozi.length)];
}
else{
t += s[i];
}
}
child.textContent = t;
}
});
});
}
})();