Youtube embeds: Remove "More Videos" & ending covering overlays

10/27/2021, 12:22:39 AM

Ajankohdalta 26.10.2021. Katso uusin versio.

// ==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
// ==/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);