Greasy Fork is available in English.
自动屏蔽网页广告(Ai)
当前为
// ==UserScript==
// @name 更强广告屏蔽(自动版)
// @namespace http://tampermonkey.net/
// @version 1.4
// @description 自动屏蔽网页广告(Ai)
// @author Han
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 广告选择器(仅隐藏,不删除)
const adSelectors = [
'iframe', '[id*="ad"]', '[class*="ad"]',
'[id*="banner"]', '[class*="banner"]',
'[id*="popup"]', '[class*="popup"]',
'[id*="sponsor"]', '[class*="sponsor"]',
'[id*="promotion"]', '[class*="promotion"]',
'[id*="close"]', '[class*="close"]'
];
// **避免误删的关键元素**
const safeSelectors = [
'video', 'canvas', 'input', 'textarea',
'[id*="player"]', '[class*="player"]',
'[id*="content"]', '[class*="content"]'
];
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();
})();