Super Duolingo Ad Blocker

Block ads and unwanted promotional content on Duolingo, including dynamically named ad classes, while preserving essential lesson content and handling fullscreen ads by pressing the exit button automatically or selecting "No Thanks" on specific ads.

這裡只顯示彼此間有代碼差異的版本。 顯示所有版本。

  • v1.0 2024-08-12

    Added another set of ad classes to the blocker. As more classes are added, the mutation observer will detect any dynamically named ad classes and attempt to block them. Some may come through though. Also, still don't have a solution for the full screen ads, but at least refreshing the page is faster than actually clicking through the ad and having it blast at full twice the volume of any of the content in the lesson though.

  • v0.8 2024-08-04

    • Removed the blocker for the fullscreen ad.
    • Ensured the pressExitButton function handles the ad logic.
    • Added blockers for the new classes and the iframe.

    This version of the script removes the fullscreen ad blocker to avoid the blank screen issue and ensures the exit button logic is handled properly. It also includes the new classes and iframe for blocking.
    This script automatically clicks the “No Thanks” button when the new full-screen ad appears, ensuring that the user can continue using Duolingo without interruptions.

  • v0.7 2024-08-04

    Added 4 new ad classes for two specific ads that don't have defined mutators yet.

  • v0.6 2024-08-02

    Added two additional ad classes I haven't previously encountered.

  • v0.5 2024-08-01

    Version 0.5
    1. Added div._1QQhE, div._3rB4d._1VTif._2HXQ9, and div[data-test="player-next"] to the list of essential content that should not be hidden.
    2. Added a new function handleBlankScreen that clicks the “Review lesson” or “Continue” button to move past any blank screens.
    3. Included calls to handleBlankScreen within the initial functions and the MutationObserver to ensure it handles the blank screen issue dynamically.

    I only encounter the blank screen once every 6-10 lessons so it's hard to narrow down the solution.

  • v0.4 2024-07-28
  • v0.3 2024-07-28
  • v0.2 2024-07-27
  • v0.1 2024-07-27