您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
removes ads and annoying popups from youtube.
当前为
// ==UserScript== // @name AdBlock for YouTube // @namespace http://tampermonkey.net/ // @version 1.5 // @description removes ads and annoying popups from youtube. // @author FairyRoot // @match *://*.youtube.com/* // @exclude *://music.youtube.com/* // @exclude *://*.music.youtube.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com // @grant none // @license MIT // @namespace https://github.com/fairy-root // ==/UserScript== (function() { // Config const adblocker = true; const removePopup = false; const debugMessages = true; const fixTimestamps = true; // Variables let currentUrl = window.location.href; // Setup log("Script started"); if (adblocker) removeAds(); if (removePopup) popupRemover(); if (fixTimestamps) timestampFix(); removeUnwantedElements(); function popupRemover() { setInterval(() => { const modalOverlay = document.querySelector("tp-yt-iron-overlay-backdrop"); const popup = document.querySelector(".style-scope ytd-enforcement-message-view-model"); const popupButton = document.getElementById("dismiss-button"); const video = document.querySelector('video'); const bodyStyle = document.body.style; bodyStyle.setProperty('overflow-y', 'auto', 'important'); if (modalOverlay) { modalOverlay.removeAttribute("opened"); modalOverlay.remove(); } if (popup) { log("Popup detected, removing..."); if (popupButton) popupButton.click(); popup.remove(); video.play(); setTimeout(() => { video.play(); }, 500); log("Popup removed"); } if (!video.paused) return; video.play(); }, 500); } function removeAds() { log("removeAds()"); let currentUrl = window.location.href; let isShortsPage = currentUrl.includes("shorts"); let video = document.querySelector('video'); // Initial check and setup if (video && !video.paused && !isShortsPage) { video.pause(); video.play(); } // Function to handle removing ads and checking video playback function checkVideoAndRemoveAds() { const currentHref = window.location.href; // Check if URL has changed if (currentHref !== currentUrl) { currentUrl = currentHref; isShortsPage = currentHref.includes("shorts"); video = document.querySelector('video'); // Re-fetch video element if necessary } // Check if on YouTube shorts page, ignore if true if (isShortsPage) { log("YouTube shorts detected, ignoring..."); return; } // Check if video element exists and is playing if (video && !video.paused) { log("Video detected playing, pausing and playing..."); video.pause(); video.play(); } } // Initial call to remove ads checkVideoAndRemoveAds(); removePageAds(); } function removePageAds() { const sponsor = document.querySelectorAll("div#player-ads.style-scope.ytd-watch-flexy, div#panels.style-scope.ytd-watch-flexy"); const style = document.createElement('style'); style.textContent = ` ytd-action-companion-ad-renderer, ytd-display-ad-renderer, ytd-video-masthead-ad-advertiser-info-renderer, ytd-video-masthead-ad-primary-video-renderer, ytd-in-feed-ad-layout-renderer, ytd-ad-slot-renderer, yt-about-this-ad-renderer, #masthead-ad, .ytd-promoted-sparkles-text-search-renderer, .ytd-promoted-sparkles-web-renderer, .ytd-compact-promoted-video-renderer, .ytd-video-masthead-ad-v3-renderer, .ytd-promoted-sparkles-web-renderer, .ytd-action-companion-ad-renderer, .ytd-promoted-sparkles-text-search-renderer, .video-ads, #player-ads, #panels { display: none !important; } `; document.head.appendChild(style); sponsor.forEach((el) => el.style.setProperty("display", "none", "important")); } function removeUnwantedElements() { setInterval(() => { const enforcementMessage = document.querySelector("ytd-enforcement-message-view-model"); if (enforcementMessage) { log("Enforcement message detected, removing..."); enforcementMessage.remove(); log("Enforcement message removed"); } const ironOverlayBackdrop = document.querySelector("tp-yt-iron-overlay-backdrop"); if (ironOverlayBackdrop) { log("Iron overlay backdrop detected, removing..."); ironOverlayBackdrop.remove(); log("Iron overlay backdrop removed"); } }, 5000); } function log(message) { if (debugMessages) console.log(`[AdBlock for YouTube] ${message}`); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址