// ==UserScript== // @name 智能全站广告拦截器 // @version 2.1 // @description 精准广告拦截,含YouTube专属图标提示 // @icon https://www.youtube.com/favicon.ico // @author little fool // @match *://*/* // @grant GM_addStyle // @grant unsafeWindow // @run-at document-start // @namespace https://yournamespace.com // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 添加全局样式 GM_addStyle(` .adblocker-status-icon { position: fixed; bottom: 20px; right: 20px; width: 40px; height: 40px; background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBkPSJNMjEuNTggNy4xOWMtLjIzLS44Ni0uOTQtMS41MS0xLjgxLTEuNzNDMTguMjQgNSAwIDUgMCA1cy0xOC4yNCAwLTE5Ljc3LjQ2Yy0uODcuMjItMS41OC44Ny0xLjggMS43M0MwIDguNzEgMCAxMiAwIDEyczAgMy4yOS4wMyA0LjgxYy4yMi44Ni45MyAxLjUxIDEuOCAxLjczIDEuNTMuNDggMTkuNzcuNDggMTkuNzcuNDhzMTguMjQgMCAxOS43Ny0uNDZjLjg3LS4yMiAxLjU4LS44NyAxLjgtMS43My4wMy0xLjUyLjAzLTMuMjkuMDMtNC44MXMtLjAxLTMuMjktLjAzLTQuODF6TTEwIDE1bDguOC01TDEwIDV2MTB6IiBmaWxsPSIjZmYwMDAwIi8+PC9zdmc+') no-repeat center/cover; cursor: pointer; z-index: 99999; opacity: 0.8; transition: opacity 0.3s; border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,0.3); } .adblocker-status-icon:hover { opacity: 1; transform: scale(1.1); } .adblocker-tooltip { position: fixed; bottom: 70px; right: 20px; background: rgba(0,0,0,0.8); color: white; padding: 8px 12px; border-radius: 4px; font-size: 12px; display: none; white-space: nowrap; } `); // 安全配置中心(保持原有配置) const SecurityConfig = { /* 原有配置保持不变 */ }; class AdBlocker { constructor() { // 添加图标控制属性 this.iconVisible = false; this.currentDomain = window.location.hostname; // 其余初始化逻辑保持不变... } // 初始化方法扩展 init() { // 原有初始化逻辑... this.setupIcon(); } // 图标控制系统 setupIcon() { if (this.shouldShowIcon()) { this.createIcon(); this.addIconInteraction(); } } shouldShowIcon() { return this.currentDomain.includes('youtube.com'); } createIcon() { this.icon = document.createElement('div'); this.icon.className = 'adblocker-status-icon'; this.tooltip = document.createElement('div'); this.tooltip.className = 'adblocker-tooltip'; this.tooltip.textContent = '广告拦截已启用 ✓'; document.body.appendChild(this.icon); document.body.appendChild(this.tooltip); } addIconInteraction() { // 鼠标悬停事件 this.icon.addEventListener('mouseenter', () => { this.tooltip.style.display = 'block'; }); this.icon.addEventListener('mouseleave', () => { this.tooltip.style.display = 'none'; }); // 点击事件 this.icon.addEventListener('click', () => { this.tooltip.textContent = `拦截版本: v2.1\n最后扫描: ${new Date().toLocaleTimeString()}`; this.tooltip.style.display = 'block'; setTimeout(() => { this.tooltip.style.display = 'none'; }, 2000); }); } // 其余原有方法保持不变... } // 启动广告拦截 new AdBlocker(); })();