NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Corinne // @version 1.0.1 // @description Corinne // @author m7r-277 // @licence MIT // @match */* // @grant none // @noframes // ==/UserScript== (function () { 'use strict'; const regex = /hapsatou/gi; const includesHapsatou = (node) => node.nodeValue.match(regex) !== null; const replaceHapsatou = (node) => node.nodeValue = node.nodeValue.replace(regex, 'Corinne'); const browseNode = function (node) { const walker = document.createTreeWalker(node, NodeFilter.SHOW_TEXT, includesHapsatou); while (walker.nextNode()) { replaceHapsatou(walker.currentNode); } } browseNode(document.body); const observer = new MutationObserver(replace); observer.observe(document.body, { childList: true, subtree: true }); function replace(records) { for (const record of records) { for (const node of record.addedNodes) { browseNode(node); } } } })();