Youtube Cleaner Video Player

Removes any overlay youtube might put on top of the video player that isn't important, like the branding watermark or product ads from the channel, for slightly better video visibility.

安装此脚本
作者推荐脚本

您可能也喜欢Remove Youtube Propaganda

安装此脚本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Youtube Cleaner Video Player
// @namespace    https://gitlab.com/Dwyriel
// @version      1.4.1
// @description  Removes any overlay youtube might put on top of the video player that isn't important, like the branding watermark or product ads from the channel, for slightly better video visibility.
// @author       Dwyriel
// @license      MIT
// @match        *://*.youtube.com/*
// @grant        none
// @homepageURL  https://gitlab.com/Dwyriel/Greasyfork-Scripts
// ==/UserScript==

(function () {
    'use strict';
    const userscriptName = "[Youtube Cleaner Video Player]";
    const callback = () => {
        document.getElementsByClassName("branding-img")[0]?.remove(); //removes the image inside the button, making the button have a size of 0x0, keeping its functionality to avoid errors but essentially removing it.
        let productAds = document.getElementsByClassName("ytp-featured-product-container");
        for (let pruductEle of productAds) { //remove product ads that show mid video
            pruductEle.parentElement.parentElement.remove();
            console.log(`${userscriptName} Removed element with class: ytp-featured-product-container`);
        }
    };
    const config = { attributes: true, childList: true, subtree: true };
    new MutationObserver(callback).observe(document.body, config);
})();