Reddit AdBlocker|Remove ads from Reddit🚫

Remove ads from Reddit pages, including elements with shreddit-dynamic-ad-link class

  1. // ==UserScript==
  2. // @name Reddit AdBlocker|Remove ads from Reddit🚫
  3. // @name:zh-CN Reddit广告拦截器|移除Reddit广告🚫
  4. // @name:ru Reddit блокировщик рекламы|Удалить рекламу🚫
  5. // @name:ja Redditアドブロッカー|広告を削除🚫
  6. // @name:ko Reddit 광고 차단기|광고 제거🚫
  7. // @name:es Bloqueador de anuncios Reddit|Eliminar anuncios🚫
  8. // @namespace https://www.reddit.com/
  9. // @version 0.6
  10. // @description Remove ads from Reddit pages, including elements with shreddit-dynamic-ad-link class
  11. // @description:zh-CN 移除 Reddit 页面上的广告,包括带有 shreddit-dynamic-ad-link 类的元素
  12. // @description:ru Удаляет рекламу со страниц Reddit, включая элементы с классом shreddit-dynamic-ad-link
  13. // @description:ja Redditページから広告を削除します(shreddit-dynamic-ad-linkクラスを含む)
  14. // @description:ko Reddit 페이지에서 광고 제거 (shreddit-dynamic-ad-link 클래스 포함)
  15. // @description:es Elimina anuncios de las páginas de Reddit, incluyendo elementos con clase shreddit-dynamic-ad-link
  16. // @author YourName
  17. // @match *://*.reddit.com/*
  18. // @grant none
  19. // @license MIT
  20. // @icon https://www.reddit.com/favicon.ico
  21. // @supportURL https://github.com/YourName/reddit-adblocker/issues
  22. // @homepage https://github.com/YourName/reddit-adblocker
  23. // ==/UserScript==
  24. (function() {
  25. 'use strict';
  26. const adSelectors = [
  27. 'div[data-testid="ad"]', // Reddit 广告容器
  28. '.promotedlink', // 推广帖子
  29. 'div[data-adclicklocation]', // 带有特定点击位置的广告
  30. '.shreddit-dynamic-ad-link.absolute.inset-0' // 你提供的自定义广告类
  31. ];
  32. // 移除广告的函数
  33. function removeAds() {
  34. adSelectors.forEach(selector => {
  35. document.querySelectorAll(selector).forEach(ad => ad.remove());
  36. });
  37. }
  38. // 使用 MutationObserver 监听 DOM 变化,实时移除新出现的广告
  39. const observer = new MutationObserver(removeAds);
  40. observer.observe(document.body, { childList: true, subtree: true });
  41. // 初始执行一次移除现有广告
  42. removeAds();
  43. })();