2.1.2
Pre-release[Improved] Prevent background redirect #14
Certain popunders repliactes a current page in a newly opened tab and navigates the current tab to an undesirable page (for example, an advertisements page).
While some of them are respectful in that if a popup did not successfully open it does not navigates the page, there are those pesky little scripts that navigates the originating page regardless of it. In such cases, a popup will be blocked, but the page will still be moved away to an undesirable page.
In doing so, such popunder scripts use window.location
api to navigates page, and these apis are not allowed to be replaced with custom functions with additional checks.
Now, we attempt to detect whether the target of a blocked popup looks like a replicated page, and aborts the script execution in the middle of a popunder script. In this way, the popunder script's location api call won't be executed. The caveat is, however, that if this ever causes a false-positive, its effect can be more detrimental.
Any such false-positive constitutes a valid bug report, however please keep in mind that it may not be fixed in a generic way when it is not feasible. You can instead whitelist the specific page where it happens.
Also, currently the detection of popup target is not deterministic, because there are many ways that a popunder script interacts with a popup window after a popup window is opened. We try our best by using ES6 Proxy
pattern, but it may miss some replicated popup targets and please report such cases to us so that we can improve our detection mechanism. We provide an additional protection, it will notify you when a page tries to move away within a short time after a suspicious popup is blocked. You can choose to move away or to stay to the current page.
[Added] Pop-up blocker warning alerts #13
Now we show alerts at top right corner of a page when we block a popup. From this alert, you can try to whitelist a destination by clicking "Always allow {url}" or whitelist a source page by clicking "Allow all pop-ups on this website". You can choose to visit the blocked popup window by clicking on the url hyperlink.
[Added] Prepare localisation module #16
Translations for a alert notification user interface is available at oneskyapp.
[Fixed] Make sure alert requests can be sent from deeply nested cross-origin frames #17