Youtube: Remove Overlays

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

La data de 29-10-2021. Vezi ultima versiune.

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