NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name 我的世界官网中国区弹窗移除器 // @version 2.1.1 // @description 我的世界官网网易版弹窗剃出 // @author GuangCaiYiYi // @match https://www.minecraft.net/* // @match https://minecraft.net/* // @grant none // @run-at document-start // @license MIT // ==/UserScript== (function() { 'use strict'; // 弹窗元素特征库 const POPUP_SELECTORS = [ 'div[class*="popup"]', 'div[class*="modal"]', 'div[id*="popup"]', 'div[id*="modal"]', 'div[class*="overlay"]' ]; // 原生DOM监听方案 const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { mutation.addedNodes.forEach(node => { if (node.nodeType === 1) { POPUP_SELECTORS.forEach(selector => { if (node.matches(selector)) { node.remove(); return; } const elements = node.querySelectorAll(selector); elements.forEach(element => element.remove()); }); } }); }); }); // 启动防御系统 observer.observe(document.documentElement, { childList: true, subtree: true }); // 主动防御机制 document.addEventListener('DOMContentLoaded', () => { POPUP_SELECTORS.forEach(selector => { document.querySelectorAll(selector).forEach(element => { element.remove(); }); }); }); // 实时监控CSS变化 const styleObserver = new MutationObserver(mutations => { mutations.forEach(mutation => { if (mutation.type === 'attributes' && mutation.attributeName === 'style') { const computedStyle = window.getComputedStyle(mutation.target); if (computedStyle.display === 'block' && computedStyle.zIndex > 1000) { mutation.target.remove(); } } }); }); // 启动CSS监控 document.querySelectorAll('*').forEach(element => { styleObserver.observe(element, { attributes: true }); }); })();