您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Improve web page performance by blocking ads, lazy-loading images, and removing intrusive elements.
// ==UserScript== // @name Enhanced Web Page Optimizer // @namespace https://discord.gg/gFNAH7WNZj // @version 1.4 // @description Improve web page performance by blocking ads, lazy-loading images, and removing intrusive elements. // @author Bacon But Pro // @match *://*/* // @grant none // @icon https://cdn141.picsart.com/351217840073211.png // @license MIT // ==/UserScript== (function () { 'use strict'; const blockedDomains = [ 'doubleclick.net', 'googlesyndication.com', 'google-analytics.com', 'adsafeprotected.com', 'adnxs.com', 'rubiconproject.com', 'pubmatic.com', 'scorecardresearch.com', 'bluekai.com', 'facebook.net', 'amazon-adsystem.com', 'ads-twitter.com', 'criteo.com', 'taboola.com', 'outbrain.com', 'cdn.ampproject.org', 'quantserve.com', 'googletagmanager.com', 'gemini.yahoo.com' ]; const blockAds = () => { document.querySelectorAll('script[src], iframe[src]').forEach(el => { if (blockedDomains.some(domain => el.src.includes(domain))) { el.remove(); } }); }; const adObserver = new MutationObserver(blockAds); adObserver.observe(document.documentElement, { childList: true, subtree: true }); const enableLazyLoading = () => { const images = document.querySelectorAll('img:not([loading])'); images.forEach(img => img.setAttribute('loading', 'lazy')); const lazyLoadObserver = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { const img = entry.target; if (img.dataset.src) { img.src = img.dataset.src; } lazyLoadObserver.unobserve(img); } }); }); images.forEach(img => { if (!img.src && img.dataset.src) { img.src = img.dataset.src; } lazyLoadObserver.observe(img); }); }; document.addEventListener('DOMContentLoaded', enableLazyLoading); const intrusiveSelectors = [ '.popup', '.ad-banner', '#subscribe-modal', '.overlay' ]; const removeIntrusiveElements = () => { intrusiveSelectors.forEach(selector => { document.querySelectorAll(selector).forEach(el => el.remove()); }); }; const intrusiveObserver = new MutationObserver(removeIntrusiveElements); intrusiveObserver.observe(document.documentElement, { childList: true, subtree: true }); document.addEventListener('DOMContentLoaded', removeIntrusiveElements); const essentialButtonSelectors = ['button.important', '.keep-this-button']; const preserveEssentialButtons = () => { essentialButtonSelectors.forEach(selector => { document.querySelectorAll(selector).forEach(el => { el.style.display = 'block'; }); }); }; const buttonObserver = new MutationObserver(preserveEssentialButtons); buttonObserver.observe(document.documentElement, { childList: true, subtree: true }); document.addEventListener('DOMContentLoaded', preserveEssentialButtons); })();