网页广告屏蔽(Ai😍) 不行就刷新页面

自动屏蔽网页广告(Ai)

// ==UserScript==
// @name         网页广告屏蔽(Ai😍) 不行就刷新页面
// @namespace    http://tampermonkey.net/
// @version      1.9
// @description  自动屏蔽网页广告(Ai)
// @author       Han
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 精细化广告选择器(仅隐藏,不删除)
    const adSelectors = [
        '[id*="ad-"]', '[class*="ad-"]', '[id*="banner"]', '[class*="banner"]', '[class*="popup"]',
        '[id*="sponsor"]', '[class*="sponsor"]', '[class*="promotion"]', '[class*="close"]',
        '[id*="ads"]', '[class*="ads"]', '[class*="modal"]', '[class*="overlay"]',
        '[class*="interstitial"]'
    ];

    // **避免误删的关键元素**
    const safeSelectors = [
        'video', 'canvas', 'input', 'textarea',
        '[id*="player"]', '[class*="player"]', '[id*="content"]', '[class*="content"]',
        '[id*="login"]', '[class*="login"]', '[id*="signin"]', '[id*="loginForm"]',
        '[id*="subscribe"]', '[class*="subscribe"]', '[id*="payment"]', '[class*="payment"]',
        '[id*="search"]', '[class*="search"]', '[id*="navigation"]', '[class*="navigation"]',
        '[id*="header"]', '[class*="header"]', '[id*="footer"]', '[class*="footer"]',
        '[id*="main"]', '[class*="main"]', '[id*="article"]', '[class*="article"]', // 防止文章内容被删除
        '[id*="comments"]', '[class*="comments"]', '[id*="discussion"]', '[class*="discussion"]'
    ];

    function hideAds() {
        adSelectors.forEach(selector => {
            document.querySelectorAll(selector).forEach(el => {
                // 检查是否为安全元素
                if (!safeSelectors.some(safe => el.matches(safe) || el.closest(safe))) {
                    el.style.transition = "opacity 0.5s";
                    el.style.opacity = "0";
                    setTimeout(() => el.style.display = "none", 500);
                }
            });
        });
    }

    // 监听 DOM 变化,防止新广告出现
    const observer = new MutationObserver(hideAds);
    observer.observe(document.body, { childList: true, subtree: true });

    // 定时清理广告(防止懒加载广告)
    setInterval(hideAds, 5000);

    // **初始执行一次**
    hideAds();
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址