| window.addEventListener("DOMContentLoaded", () => { | |
| document.querySelectorAll("section p").forEach((paragraph) => { | |
| // Recursively traverse the DOM tree and modify the text nodes | |
| const recursivelyAddWbr = (node) => { | |
| if (node.nodeType === Node.TEXT_NODE) { | |
| const newNodes = node.textContent.split("/"); | |
| for (let i = 0; i < newNodes.length - 1; i++) { | |
| newNodes[i] += "/"; | |
| } | |
| const tempSpan = document.createElement("span"); | |
| tempSpan.innerHTML = newNodes.join("<wbr>"); | |
| const replacementNodes = tempSpan.childNodes; | |
| mutationQueue.push([node, replacementNodes]); | |
| } else { | |
| node.childNodes.forEach(recursivelyAddWbr); | |
| } | |
| }; | |
| // Perform the recursive traversal and replace the text nodes | |
| const mutationQueue = []; | |
| recursivelyAddWbr(paragraph); | |
| mutationQueue.forEach(([node, newNodes]) => { | |
| node.replaceWith(...newNodes); | |
| }); | |
| }); | |
| }); | |