RomanistHere / PopUpOFF

Chrome extension, providing better web experience.
https://romanisthere.github.io/PopUpOFF-Website/
Apache License 2.0
153 stars 7 forks source link
addon app dom extension mutationobserver overlays popups

PopUpOFF BROWSER EXTENSION

Mechanics

Remove

There are two modes removing fixed elements from the screen. Aggressive mode and Moderate one. Aggressive is plain and straight: loop (in future traverse) through all the elements on the page, find naughty ones (position: fixed/sticky), make some additional checks, remove it.

Moderate on the other hand was super hard to develop (it still is), because I want it to be default mode, that won't block anything but "bad" popups. There are, of course, "good" ones. Send a tweet? Login to a website? Display some important info? Yeah these are popups as well. I developed a very smart algorithm to detect badness of the given popup, but there is still room for growth. So if you find a website where PopUpOFF blocks something important or doesn't block something you expect it to block - please, let me know. RomanistHere@pm.me or Twitter. It matters!

Prevent

There is also MutationObserver that allows PopUpOFF to check when some changes applied to the DOM. It re-checks added/changed elements with the algorithm to understand if it's a bad guy now. Made some interesting memoization with the WeakMap for Moderate mode.

Tracking

Tracking is completely removed since 1.1.6

Prevent paid content from hiding (Anti-paid) - since 1.1.6

Some newspapers are showing you an article you want to read and then remove half of it. Now it's in the past. There is an (experimental) option to prevent reduction of content after download. More info here

Move popups to the top/bottom of the page instead of removing (Delicate) - since 2.1.0

Changes position: fixed to position: absolute/static/relative based on an option parameter. If you want to keep popups on the page, just don't want them to block the view. Overlays are usually moved to the top or the bottom of the pages as a result. Experimental.

Development

Changelog:

2.1.1 - 2.1.3

2.1.0

2.0.2

2.0.0 - 2.0.1

1.1.9 - 1.1.10

1.1.8

1.1.7

1.1.6

1.1.5

1.1.4

1.1.3

1.1.2

1.1.1

1.1.0

1.0.4

1.0.3

1.0.2

I enjoy creating something valuable. It isn't perfect, it's probably never meant to be, still I'm here, and I'm going to give yet another try. Thank you for your support. I sincerely believe we can make this world better.

If you have something to say to me, offer, complaint or just thank you, write to me right here: RomanistHere@pm.me

Support project / Donate