// ==UserScript== // @name Youtube embeds: Remove "More Videos" & ending covering overlays // @namespace https://greasyfork.org/en/users/221281-klaufir // @match https://www.youtube.com/embed/* // @grant none // @version 1.1 // @author - // @description 10/27/2021, 12:22:39 AM // @downloadURL none // ==/UserScript== function removeMoreVideosOverlay() { document?.querySelector(".ytp-pause-overlay.ytp-scroll-min")?.remove(); } function removeElements(elems) { if (elems) Array.from(elems).map(e => e.remove()); } function getCoveringOverlays() { return document?.querySelectorAll('.ytp-ce-element'); } function getPlayButton() { return document?.querySelector('.ytp-play-button.ytp-button'); } function retrier(queryFn, onSuccess, tries, retryInterval) { console.log('queryFn', queryFn, 'tries = ', tries); if (tries <= 0) return; var queryResult = queryFn() console.log('queryResult', queryResult); if (!queryResult || (queryResult?.length ?? -1) == 0) { setTimeout(function() {retrier(queryFn, onSuccess, tries-1, retryInterval); }, retryInterval); return; } onSuccess(queryResult); } retrier(getPlayButton, function(playButton) { playButton.addEventListener('click', removeMoreVideosOverlay); }, /* tries: */ 10, /* retryInterval:*/ 1000); retrier(getCoveringOverlays, removeElements, /* tries: */ 10, /* retryInterval:*/ 1000);