Coder Social home page Coder Social logo

eskander / ultra-popup-blocker Goto Github PK

View Code? Open in Web Editor NEW
15.0 1.0 3.0 605 KB

Configurable popup blocker that blocks all popup windows by default with a permission model.

Home Page: https://eskander.tn/ultra-popup-blocker

License: MIT License

JavaScript 78.91% CSS 15.06% HTML 6.03%
popup-blocker popup-window firefox chrome userscript greasemonkey-script tampermonkey-script greasemonkey tampermonkey violentmonkey

ultra-popup-blocker's Introduction

Ultra Popup Blocker

Warning No further development is planned. The script will continue to work as is.

Ultra Popup Blocker (or UPB for short) is a lightweight Popup Blocker that aims to block all popup windows by default, (even good, unharmful, user-initiated ones) on a permission model, while providing a clean Permission manager for easy configuration.

Why another popup blocker?

Built-in Firefox and Chrome popup blockers blocks only the popups that were created automatically via scripts on page load etc. When you click on a button on the page, it won't block it. However, malicious websites can create JS code that will launch the popups whenever you click on any blank space on the page for instance.

How does it work?

In JavaScript, functions are first-order citizens. It means you can store a function in a variable and pass it freely. You can also modify the native functions provided by the browser, like 'window.open'. Here, we override 'window.open' with our own implementation which prompts the user to see whether he really wants to open a popup window.

Managing permissions

Use the permission manager provided with Ultra Popup Blocker to set which websites are trusted to open popups freely.

Install instructions

  1. Get a userscript manager from your browser's addon store:
  2. Add Ultra Popup Blocker from one of the following sources:

GreasyFork OpenUserJS GitHub

ultra-popup-blocker's People

Contributors

dependabot[bot] avatar eskander avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ultra-popup-blocker's Issues

iframe-originating pop-ups rules are not remembered / enforced

optional, safe-to-ignore below rant behind how I encountered the issue:

Hi!

I was going to provide more details on this issue and tell you how much I appreciate you rewriting Ultra Popup Blocker but I haven't gotten the time. I haven't seen the new changes in action yet.

I encountered this just before you started writing this new version. I think Ultra Popup Blocker did detect the popup, but failed to remember not to block it, and disabling Ultra Popup Blocker either on the current tab or even globally had no effect even. It was pretty annoying, given how this was a website I was ordering something off of, and this was the payment processor pop-up that was being blocked - after investigation, I realized it must've been because the pop-up originated from code within an IFRAME on that payment page (the page was still on the store website, and the IFRAME must've been the payment provider's). Luckily, having to refresh a few times after no option worked, the order / money only went through once (I was only buying pens anyway), but I had to disable Ultra Popup Blocker in the browser options and probably restarted it.

I know IFRAMEs are a relic, but apparently people still use them. In this case, CartridgePeople. But the bigger issue is UPB might be ignoring an entire category of pop-ups then.

I'm excited to see the recent redesign in action!
Thank you for sharing this work with us!

Update

Hi, last release is 9 months old. We will have a new release?

some video players find a way to use unmodified window.open function

thanks for this great extension. are you checking for issues regularly?

the URL below is a online tv series watching site, as the example for this problem. select Fembed from "alternatifler" to get to it.
tokyo revengers

the site itself or Fembed video source finds a way to use default open method. after first timed ad, it overlays another invisible onclick one, and maybe a third. the last one somehow accesses to default open method to open ad url in new tabs.

can you check when you have time?

blacklist

Hi! I wanted to thank you for this wonderful tool and I have a suggestion:

  • Have an option to also blacklist a particular popup, as in an opposite functionality to "whitelist".
  • Also, there is no visual indication for the whitelist check button - that's not very intuitive.
  • Another thing that would be nice is to have the notification disappear when the user presses the open button. I always keep hiding / closing the notification bar because it's getting in the way of the page - I prefer I have the whole viewport dedicated to the website if I don't need it anymore.
    It's the same reason I'm asking for this "blacklist" option - maybe I want a particular popup to always be blocked and not see a notification bar, or I keep having to hide the notification all the time, which, while not as bad as having popups, is still annoying.

Besides these gripes, I am still a user because this is a nice feature, nice visuals, nice general concept & design, and I do appreciate it as I'm sure all of the users are.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.