// ==UserScript== // @name Hide youtube google ad // @name:zh-CN 隐藏youtube google广告 // @namespace vince.youtube // @version 2.4.9 // @description hide youtube google ad,auto click "skip ad" // @description:zh-CN 隐藏youtube显示的google广告,自动点击"skip ad" // @author vince ding // @match https://*.youtube.com/* // @grant GM_xmlhttpRequest // @grant GM_info // @grant GM_getValue // @grant unsafeWindow // @run-at document-start // @connect googlevideo.com // @downloadURL none // ==/UserScript== (function() { 'use strict'; var closeAd=function (){ //var css = '.video-ads,.video-ads .ad-container .adDisplay,#player-ads,.ytp-ad-module,.ytp-ad-image-overlay,#panels"{ display: none!important; }', var css = ` .video-ads, .ytp-ad-overlay-container, .ytp-ad-overlay-image, .ytp-ad-skip-button-container, .ytp-ad-preview-container, .ytp-ad-message-container, #masthead-ad, #player-ads, ytd-display-ad-renderer, ytd-companion-slot-renderer, .ytd-video-masthead-ad-v3-renderer, .style-scope.ytd-in-feed-ad-layout-renderer, .ytd-banner-promo-renderer, #related ytd-promoted-sparkles-web-renderer, .ytd-promoted-sparkles-text-search-renderer, .ytd-display-ad-renderer, .ytd-statement-banner-renderer, #related ytd-compact-promoted-video-renderer { display: none!important; }`; var head = document.head || document.getElementsByTagName('head')[0]; var style = document.createElement('style'); style.type = 'text/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } head.appendChild(style); }; var skipInt; var log=function(msg){ unsafeWindow.console.log (msg); }; var skipAd = function(){ const skipSelectors = [ 'button.ytp-ad-skip-button', 'button.ytp-ad-skip-button-modern', '.ytp-ad-skip-button-container button', '.ytp-ad-skip-button-slot button', 'button[class*="skip"]', 'button[class*="Skip"]', '.videoAdUiSkipButton', '[data-skip-button]' ]; const skipbtn = skipSelectors.reduce((found, selector) => found || document.querySelector(selector), null); const video = document.querySelector('video'); const isInAd = document.querySelector('.video-ads') || document.querySelector('.ytp-ad-player-overlay') || document.querySelector('[class*="ad-showing"]') || document.querySelector('.html5-video-player.ad-showing'); if(video) { if(isInAd && skipbtn) { // 广告状态处理 video.playbackRate = 16; video.muted = true; // 广告时静音 if(video.paused) { video.play(); } } else { // 非广告状态处理 if(video.playbackRate !== 1) { video.playbackRate = 1; } if(video.muted) { // 非广告时恢复声音 video.muted = false; } // 检测黑屏状态 if(!video.paused && video.readyState === 4 && video.currentTime === 0) { video.play(); } } } if(skipbtn && isInAd){ try { skipbtn.removeAttribute('disabled'); const simulateClick = new MouseEvent('click', { view: window, bubbles: true, cancelable: true }); skipbtn.dispatchEvent(simulateClick); } catch(e) { log("Skip error: " + e); } } // 更频繁地检查以防止黑屏 setTimeout(() => { window.requestAnimationFrame(skipAd); }, 500); }; closeAd(); skipAd(); })();