Unicode 自动翻译脚本

实时翻译网页上的 Unicode 编码为中文

// ==UserScript==
// @name         Unicode 自动翻译脚本
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  实时翻译网页上的 Unicode 编码为中文
// @author       barnett2010
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // 翻译单个节点的文本
    function translateNode(node) {
        if (node.nodeType === 3) {
            var text = node.nodeValue;
            var decodedText = text.replace(/\\u([\dA-F]{4})/gi, function(match, p1) {
                return String.fromCharCode(parseInt(p1, 16));
            });
            if (decodedText !== text) {
                node.nodeValue = decodedText;
            }
        }
    }

    // 遍历页面上的节点,并翻译文本
    function translateUnicode() {
        var elements = document.getElementsByTagName('*');
        for (var i = 0; i < elements.length; i++) {
            var element = elements[i];
            for (var j = 0; j < element.childNodes.length; j++) {
                var node = element.childNodes[j];
                translateNode(node);
            }
        }
    }

    // 监听页面变化,实时翻译
    var observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            for (var i = 0; i < mutation.addedNodes.length; i++) {
                var node = mutation.addedNodes[i];
                if (node.nodeType === 3) {
                    translateNode(node);
                } else if (node.getElementsByTagName) {
                    var elements = node.getElementsByTagName('*');
                    for (var j = 0; j < elements.length; j++) {
                        var subNode = elements[j];
                        translateNode(subNode);
                    }
                }
            }
        });
    });

    // 开始监听页面变化
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 在页面加载完成后立即翻译
    window.addEventListener('load', function() {
        translateUnicode();
    });

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址