您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
实时翻译网页上的 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(); }); })();