Youtube: Remove Overlays

04/26/2023, 11:35:27 AM

  1. // ==UserScript==
  2. // @name Youtube: Remove Overlays
  3. // @namespace https://greatest.deepsurf.us/en/users/221281-klaufir
  4. // @match https://www.youtube.com/embed/*
  5. // @match https://www.youtube.com/*
  6. // @match https://www.youtube-nocookie.com/*
  7. // @grant none
  8. // @version 1.12
  9. // @author -
  10. // @description 04/26/2023, 11:35:27 AM
  11. // ==/UserScript==
  12. function addStyle(style)
  13. {
  14. var headelem = document.getElementsByTagName("head")[0];
  15. var styleelem = document.createElement("style");
  16. styleelem.setAttribute("id","remove-overlays");
  17. styleelem.type="text/css";
  18. styleelem.appendChild(document.createTextNode(style));
  19. headelem.appendChild(styleelem);
  20. }
  21.  
  22. function getRuleForClasses() {
  23. var classes = [
  24. 'ytp-paid-content-overlay', // paid promotion notification overlay in the bottom left corner
  25. 'ytp-pause-overlay', // "More Videos" overlay on paused embeds
  26. 'ytp-ce-element', // covering overlays at the end of the video
  27. 'iv-branding', // branding overlay in the bottom right corner
  28. 'ytp-cards-teaser', // info cards in the top right corner
  29. 'ytp-cards-button-icon', // info cards in the top right corner
  30. 'ytp-cards-button-title', // info cards in the top right corner
  31. 'ytp-endscreen-content', // endscreen recommended videos
  32. 'ytp-spinner', // remove spinner stuck on screen
  33. 'ytd-reel-shelf-renderer'
  34. ];
  35. var style="";
  36. classes.forEach(cls => {
  37. style += "." + cls + " { visibility: hidden !important; }\n";
  38. });
  39. return style;
  40. }
  41.  
  42. addStyle(getRuleForClasses());