Skip to content

Instantly share code, notes, and snippets.

@mimonelu
Created July 21, 2022 08:27
Show Gist options
  • Save mimonelu/4143bf6f3f1e83fbfe5844fe77fa6a21 to your computer and use it in GitHub Desktop.
Save mimonelu/4143bf6f3f1e83fbfe5844fe77fa6a21 to your computer and use it in GitHub Desktop.
文字ぼかしブックマークレット
(() => {
const maskClassName = '__mask'
const styleElement = document.createElement('style')
document.head.appendChild(styleElement)
styleElement.sheet.insertRule(`.${maskClassName} { filter: blur(8px); }`)
const exclusionTags = [ 'SCRIPT', 'STYLE' ]
const emptyRegex = new RegExp('^[\\s ]*$', 's')
const traverseElement = (currentElement) => {
if (currentElement.nodeType === 1 && !exclusionTags.includes(currentElement.tagName)) {
currentElement.childNodes.forEach(traverseElement)
} else if (currentElement.nodeType === 3 && !emptyRegex.test(currentElement.nodeValue)) {
const maskElement = document.createElement('span')
maskElement.className = maskClassName
maskElement.innerText = currentElement.nodeValue
currentElement.parentNode.replaceChild(maskElement, currentElement)
}
}
traverseElement(document.documentElement)
})()
@mimonelu
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment