您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Safely updates Kennitala without breaking layout or React styles.
// ==UserScript== // @name Ísland.is Kennitala Fix (Safe) // @namespace http://tampermonkey.net/ // @version 18.3 // @description Safely updates Kennitala without breaking layout or React styles. // @author You // @match https://island.is/minarsidur/min-gogn/yfirlit // @match https://island.is/minarsidur/min-gogn/yfirlit/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; const oldKennitala = '250107-2770'; const newKennitala = '250104-2770'; // Replace text safely without breaking styles const replaceTextSafely = () => { const elements = document.querySelectorAll('p, span, div'); elements.forEach((el) => { // Only touch text-containing elements, not containers if (el.childNodes.length === 1 && el.childNodes[0].nodeType === 3) { if (el.textContent.includes(oldKennitala)) { el.textContent = el.textContent.replace(oldKennitala, newKennitala); } } }); }; // React hydration is async, wait for it const waitUntilReady = setInterval(() => { const bodyText = document.body.innerText || ''; if (bodyText.includes(oldKennitala)) { replaceTextSafely(); clearInterval(waitUntilReady); } }, 300); // Backup: use MutationObserver in case React re-renders later const observer = new MutationObserver(() => { replaceTextSafely(); }); observer.observe(document.body, { childList: true, subtree: true }); })();