YouTube Auto Skip Ads

autoclicks on youtube's skip ad buttons once they appear, also auto-closes banner ads

当前为 2024-08-03 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         YouTube Auto Skip Ads
// @namespace    none
// @version      0.5
// @description  autoclicks on youtube's skip ad buttons once they appear, also auto-closes banner ads
// @author       RustyPrimeLUX
// @match        https://www.youtube.com/*
// @license      MIT
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
	var debug = false;
    setInterval(function(){

        var skipAdBtn = document.querySelector("div.ytp-ad-text.ytp-ad-skip-button-text") || document.querySelector(".ytp-skip-ad-button");
        if(skipAdBtn != null && isVisible(skipAdBtn)){
            if(debug) console.log("clicking on skip ads");
            skipAdBtn.click();
        }
        else{
            if(debug) console.log("found no ads: skipAdBtn=" + skipAdBtn);
        }

        var closeBannerBtn = document.querySelector("button.ytp-ad-overlay-close-button");
        if(closeBannerBtn != null && isVisible(closeBannerBtn)){
            if(debug) console.log("clicking on close banner ad");
            closeBannerBtn.click();
        }
        else{
            if(debug) console.log("found no banner ads: skipBannerBtn=" + closeBannerBtn);
        }

	var errorScreen = document.querySelector("#error-screen");
        if (errorScreen != null && isVisible(errorScreen)){
            window.location.reload();
        }
    }, 1000);

    function isVisible(el) {
        return (el.offsetParent !== null)
    }
})();