Replace non-printable characters, e.g., zero-width spaces, with a visible symbol.
目前為
// ==UserScript==
// @name Non-Printable Character Detection
// @namespace https://greasyfork.org/users/193469
// @description Replace non-printable characters, e.g., zero-width spaces, with a visible symbol.
// @version 1.1
// @author Rui LIU (@liurui39660)
// @match *://*/*
// @icon https://icons.duckduckgo.com/ip2/example.com.ico
// @license MIT
// @run-at document-end
// ==/UserScript==
(function () {
'use strict';
const regex = /\p{Cf}/gu; // https://stackoverflow.com/a/12054775/8056404
const to = '\u2756'; // ❖
const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
const replace = () => {
let node;
while (node = walker.nextNode()) {
node.nodeValue = node.nodeValue.replaceAll(regex, to);
}
}
replace();
new MutationObserver(mutations => {
for (const mutation of mutations) {
for (const node of mutation.addedNodes) {
walker.currentNode = node;
replace();
}
}
}).observe(document.body, {subtree: true, childList: true});
})();