File size: 896 Bytes
2409829
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
		});
	});
});