您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Why?
// ==UserScript== // @name Chineseifier // @namespace http://ko-fi.com/ // @version 3.2 // @description Why? // @author leafysweetsgarden (edited by DasLulilaan) // @include http://* // @include https://* // @grant none // ==/UserScript== function walk(node) { var ignore = { "STYLE":0, "SCRIPT":0, "NOSCRIPT":0, "IFRAME":0, "OBJECT":0, "PRE":0 }; // I stole this function from here: // http://is.gd/mwZp7E var child, next; if (node.nodeName.toLowerCase() == 'input' || node.nodeName.toLowerCase() == 'textarea' || (node.classList && node.classList.contains('ace_editor'))) { return; } if (node.tagName in ignore) return; switch ( node.nodeType ) { case 1: // Element case 9: // Document case 11: // Document fragment child = node.firstChild; while ( child ) { next = child.nextSibling; walk(child); child = next; } break; case 3: // Text node handleText(node); break; } } function handleText(textNode) { var v = textNode.nodeValue; v = v.replace(/(?:r)/g, "l"); v = v.replace(/(?:R)/g, "L"); textNode.nodeValue = v; } // Notify me of everything! var observerConfig = { attributes: true, childList: true, subtree: true, characterData: true }; var observer = new MutationObserver(function(mutations) { observer.disconnect(); walk(document.body); observer.observe(document.body, observerConfig); }); // Node, config // In this case we'll listen to all changes to body and child nodes observer.observe(document.body, observerConfig);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址