// ==UserScript== // @name Youtube: Remove Overlays // @namespace https://greasyfork.org/en/users/221281-klaufir // @match https://www.youtube.com/embed/* // @match https://www.youtube.com/watch?v=* // @grant none // @version 1.3 // @author - // @description 10/27/2021, 12:22:39 AM // @downloadURL none // ==/UserScript== function removeElements(elems) { if (elems) Array.from(elems).map(e => e.remove()); } function removeElement(elem) { elem?.remove(); } function retrier(queryFn, onSuccess, tries, retryInterval) { if (tries <= 0) return; var queryResult = queryFn() if (!queryResult || (queryResult?.length ?? -1) == 0) { setTimeout(function() {retrier(queryFn, onSuccess, tries-1, retryInterval); }, retryInterval); return; } onSuccess(queryResult); } function getMoreVideosOverlay() { return document?.querySelector(".ytp-pause-overlay.ytp-scroll-min"); } function getCoveringOverlays() { return document?.querySelectorAll('.ytp-ce-element'); } function getPaidPromotionsOverlay() { return document?.querySelector('.ytp-paid-content-overlay-text'); } retrier(getPaidPromotionsOverlay, removeElement, /* tries: */ 10, /* retryInterval:*/ 1000); retrier(getMoreVideosOverlay, removeElement, /* tries: */ 10, /* retryInterval:*/ 1000); retrier(getCoveringOverlays, removeElements, /* tries: */ 10, /* retryInterval:*/ 1000);