add initial cleanse of ruby tags on page load

This commit is contained in:
lauchmelder 2025-04-18 17:30:36 +02:00
parent 303879145b
commit 597a1d9d20
3 changed files with 12 additions and 1 deletions

View file

@ -18,3 +18,6 @@
## v0.7.1 ## v0.7.1
* Add support for non-static websites * Add support for non-static websites
## v0.7.2
* Explicitly handle ruby tags on initial page load

View file

@ -1,7 +1,7 @@
{ {
"name": "FuriKani", "name": "FuriKani",
"description": "Removes furigana on websites based on your WaniKani level", "description": "Removes furigana on websites based on your WaniKani level",
"version": "0.7", "version": "0.7.2",
"icons": { "icons": {
"16": "res/icon16.png", "16": "res/icon16.png",
"48": "res/icon48.png", "48": "res/icon48.png",

View file

@ -47,6 +47,12 @@ function handleRubyTag(tag, vocabulary, kanji) {
rtTag.classList.add("furikani-kanji") rtTag.classList.add("furikani-kanji")
} }
function removeExistingTags(vocabulary, kanji) {
let nodes = document.querySelectorAll("ruby")
nodes.forEach((node, _key, _parent) => {
handleRubyTag(node, vocabulary, kanji)
});
};
// Get stored word list from chrome storage // Get stored word list from chrome storage
chrome.storage.local.get(["vocabulary", "kanji", "validUserLevel", "enabled", "enabledVocab", "enabledKanji"], (data) => { chrome.storage.local.get(["vocabulary", "kanji", "validUserLevel", "enabled", "enabledVocab", "enabledKanji"], (data) => {
@ -68,6 +74,8 @@ chrome.storage.local.get(["vocabulary", "kanji", "validUserLevel", "enabled", "e
const vocabulary = data.vocabulary const vocabulary = data.vocabulary
const kanji = data.kanji const kanji = data.kanji
removeExistingTags(vocabulary, kanji)
let observer = new MutationObserver((mutations) => { let observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => { mutations.forEach((mutation) => {
mutation.addedNodes.forEach((node, _key, _parent) => { mutation.addedNodes.forEach((node, _key, _parent) => {