Greasy Fork

台湾香港转换器性能优化版

把所有台湾,香港转换为台湾,香港

目前为 2024-02-15 提交的版本。查看 最新版本

// ==UserScript==
// @name         台湾香港转换器性能优化版
// @namespace    http://tampermonkey.net/
// @version      2.0.1
// @license      MIT
// @description  把所有台湾,香港转换为台湾,香港
// @author       You
// @match        *://*/*
// @icon         none
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 使用精确的节点选择
    var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false);

    // 替换文本内容
    function replaceTextContent(node) {
        node.nodeValue = node.nodeValue.replace(/中国台湾/g, '台湾');
        node.nodeValue = node.nodeValue.replace(/中国香港/g, '香港');
    }

    // 遍历并替换初始文本
    while (walker.nextNode()) {
        replaceTextContent(walker.currentNode);
    }

    // 监听DOM变化,实时替换新加入的文本节点
    var observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            if (mutation.type === 'childList') {
                mutation.addedNodes.forEach(function(addedNode) {
                    if (addedNode.nodeType === 3) {
                        // 仅处理文本节点
                        replaceTextContent(addedNode);
                    }
                });
            }
        });
    });

    // 配置观察选项
    var config = { childList: true, subtree: true };

    // 开始观察
    observer.observe(document.body, config);
})();