// 替換文字的函數 function replaceText(node, replacements) { if (node.nodeType === Node.TEXT_NODE) { let text = node.nodeValue; for (let [key, value] of Object.entries(replacements)) { const regex = new RegExp(key, "g"); text = text.replace(regex, value); } node.nodeValue = text; } else if (node.nodeType === Node.ELEMENT_NODE) { node.childNodes.forEach((child) => replaceText(child, replacements)); } } // 初始化替換 function initializeReplacements() { chrome.storage.local.get("replacements", (data) => { const replacements = data.replacements || {}; replaceText(document.body, replacements); // 監控動態內容 const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { mutation.addedNodes.forEach((node) => { if (node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.TEXT_NODE) { replaceText(node, replacements); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); }); } initializeReplacements();