// ==UserScript== // @name 星号密码框显示明文密码 // @namespace Violentmonkey Scripts // @match *://*/* // @grant none // @version 1.1 // @license MIT // @author - // @description 密码框显示密码,支持懒加载、动态页面中的密码框,鼠标悬浮在密码框上时显示密码 // @downloadURL none // ==/UserScript== (function() { 'use strict'; function bindPasswordEvents(input) { input.addEventListener('mouseenter', () => input.type = 'text'); input.addEventListener('mouseleave', () => input.type = 'password'); } const observer = new MutationObserver((mutations)=>{ mutations.flatMap(e => [...e.addedNodes]).filter(node => node.nodeType === Node.ELEMENT_NODE).forEach(node => { if (node.tagName === 'INPUT' && node.type === 'password') { bindPasswordEvents(node); } else { node.querySelectorAll('input[type="password"]').forEach(bindPasswordEvents); } }); }); observer.observe(document, { childList: true, subtree: true }); // 初始化现有密码输入框的事件绑定 document.querySelectorAll('input[type="password"]').forEach(bindPasswordEvents); })();