YouTube Ad Remover

Skip and remove YouTube ads without click

  1. // ==UserScript==
  2. // @name YouTube Ad Remover
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.2
  5. // @description Skip and remove YouTube ads without click
  6. // @author eggplants
  7. // @homepage https://github.com/eggplants
  8. // @match https://*.youtube.com/*
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. "use strict";
  15.  
  16. function clickButton(selector){
  17. let elm = document.getElementsByClassName(selector)[0];
  18. if (elm){ elm.click(); }
  19. }
  20.  
  21. function addStyleHide(cssSelector){
  22. var D = document;
  23. var newNode = D.createElement('style');
  24. newNode.textContent = cssSelector + "{display:none !important;}";
  25. var targ = D.getElementsByTagName('head')[0] || D.body || D.documentElement;
  26. targ.appendChild (newNode);
  27. }
  28.  
  29. function tick(){
  30. clickButton('ytp-ad-text ytp-ad-preview-text');
  31. clickButton('ytp-ad-skip-button ytp-button');
  32. }
  33.  
  34. // main
  35.  
  36. const hideSelectors = [
  37. ".GoogleActiveViewElement",
  38. ".masthead-ad",
  39. ".ytd-companion-slot-renderer",
  40. ".ytd-video-masthead-ad-v3-renderer",
  41. ".ytm-promoted-sparkles-text-search-renderer",
  42. ".ytm-promoted-sparkles-web-renderer",
  43. ".ytp-ad-image-overlay",
  44. ".ytp-ad-message-container",
  45. ".ytp-ad-player-overlay-flyout-cta",
  46. ".ytp-paid-content-overlay-text",
  47. "div.ytp-ad-overlay-slot",
  48. "ytd-display-ad-renderer"
  49. // "div:has(> ytd-display-ad-renderer)"
  50. ];
  51.  
  52. for (var i = 0; i < hideSelectors.length; i++) {
  53. addStyleHide(hideSelectors[i]);
  54. }
  55.  
  56. setInterval(tick, 10);
  57. }());

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址