// ==UserScript== // @name 文本替换插件1 // @namespace your-namespace // @version 1.0 // @description 在网页中替换文本 // @match http://*/* // @match https://*/* // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; var originalText = ''; var replacementText = ''; // 创建弹窗 var dialog = document.createElement('div'); dialog.innerHTML = `

请输入要替换的文本:

请输入替换后的文本:



`; dialog.style.position = 'fixed'; dialog.style.top = '20px'; dialog.style.right = '20px'; dialog.style.backgroundColor = '#000'; dialog.style.color = '#fff'; dialog.style.padding = '20px'; dialog.style.border = '1px solid #ccc'; dialog.style.boxShadow = '0 0 10px rgba(0, 0, 0, 0.1)'; dialog.style.zIndex = '9999'; dialog.style.display = 'none'; document.body.appendChild(dialog); // 按下 Ctrl+Alt+H 键时触发 document.addEventListener('keydown', function(event) { if (event.ctrlKey && event.altKey && event.key === 'h') { dialog.style.display = 'block'; // 显示弹窗 } }); // 点击替换按钮时触发 document.getElementById('replaceButton').addEventListener('click', function() { originalText = document.getElementById('originalText').value; replacementText = document.getElementById('replacementText').value; replaceText(); }); // 点击撤销按钮时触发 document.getElementById('undoButton').addEventListener('click', function() { originalText = document.getElementById('replacementText').value; replacementText = document.getElementById('originalText').value; replaceText(); }); // 点击关闭按钮时触发 document.getElementById('closeButton').addEventListener('click', function() { dialog.style.display = 'none'; // 关闭弹窗 }); // 执行文本替换操作 function replaceText() { 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]; if (node.nodeType === 3) { var text = node.nodeValue; var replacedText = text.replace(new RegExp(originalText, 'g'), replacementText); if (replacedText !== text) { element.replaceChild(document.createTextNode(replacedText), node); } } } } } })();