Popup Blocker d'AdGuard est un script utilisateur qui bloque toutes les fenêtres pop-up indésirables dans différents navigateurs.
Fonctionne dans Chrome, Firefox, Edge, Safari, IE10+, etc., essentiellement dans n'importe quel navigateur prenant en charge les gestionnaires de scripts utilisateur. Les exceptions sont certains des navigateurs les plus anciens qui ne prennent pas en charge l'API que nous utilisons, le script peut ne pas y être entièrement fonctionnel.
Popup Blocker n'applique pas l'approche des règles de filtrage à la détection des pop-ups. Au lieu de cela, il ajoute une couche supplémentaire aux API natives du navigateur utilisées pour créer des fenêtres contextuelles. De cette façon, ces API ne peuvent être appelées que lorsqu'elles sont provoquées par une saisie manuelle, et non par des scripts pop-up/pop-under. Cela permet de bloquer les pop-ups même sur les sites Web qui tentent de contourner les bloqueurs de publicités classiques en utilisant WebRTC ou en variant les serveurs publicitaires.
Cela est explicite mais important : si un clic provoque l'affichage d'une fenêtre contextuelle, non seulement la fenêtre contextuelle est bloquée, mais le clic initial est également traité comme il le serait sans la fenêtre contextuelle.
Les autres scripts de la page ne peuvent pas détecter que le bloqueur de fenêtres contextuelles est utilisé, autrement qu'en essayant d'ouvrir une fenêtre contextuelle. Cela empêche tout contournement possible du Popup Blocker.
Version actuelle : https://userscripts.adtidy.org/release/popup-blocker/2.5/popupblocker.user.js
Version bêta actuelle : https://userscripts.adtidy.org/beta/popup-blocker/2.5/popupblocker.user.js
Popup Blocker est développé par la même équipe qui développe AdGuard, et AdGuard pour Windows peut servir de gestionnaire de script utilisateur. Si vous êtes un utilisateur AdGuard, accédez à Paramètres – Extensions – Ajouter une extension et entrez-y l'URL du fichier Popup Blocker .js souhaité. De cette façon, vous pouvez l’utiliser dans n’importe quel navigateur.
D'un autre côté, Popup Blocker est un projet indépendant, vous pouvez l'utiliser avec n'importe quel autre gestionnaire de script utilisateur comme Greasemonkey, Tampermonkey ou Violentmonkey. Assurez-vous que l'un d'entre eux est installé dans votre navigateur pour pouvoir utiliser le Popup Blocker (entrez simplement l'URL du script dans la barre d'adresse, elle sera automatiquement détectée par le gestionnaire).
Vous pouvez gérer une liste de domaines sur liste blanche et de domaines réduits au silence sur une page d'options dédiée :
Pour signaler un bug, rendez-vous sur cette page et créez un nouveau problème.
Vous pouvez nous aider à traduire Popup Blocker dans d’autres langues ! Notre projet sur Crowdin est ouvert aux contributions publiques.
Les versions de développement ont la journalisation activée et remplacent beaucoup plus d'API du navigateur pour introspecter le comportement du script popup/popunder. Il ne convient pas à un usage normal.
Le test unitaire pour la version de développement est ici.
Pour créer le projet, suivez ces étapes :
Installez les dépendances locales en exécutant la commande suivante dans le terminal :
yarn install
Pour construire, exécutez la commande suivante dans le terminal :
$ NODE_ENV=<channel> ts-node tasks/builder --target=<target>
Remplacez channel
par le canal souhaité, qui peut être dev
, beta
ou release
. Remplacez également target
par la cible de build souhaitée, qui peut être
userscript
– crée un script utilisateur pour un canal spécifié ;options
– créer une page d'options, qui est une page autonome, qui offre à l'utilisateur un moyen pratique de gérer les sites Web autorisés et silencieux ;tests
– construire des tests ;bundle
– créez et regroupez tout ce qui précède pour un canal spécifié.Vous pouvez également exécuter les commandes suivantes dans un style minimaliste :
yarn userscript-<channel>
yarn options-page
yarn tests
yarn bundle:dev
yarn bundle:beta
yarn bundle:release
Si vous créez pour le développement, notez que la sortie ne sera pas réduite et contiendra des journaux dans la console du navigateur.
Les versions bêta et release seront réduites et tous les codes de journalisation seront supprimés.
Construisez à l'aide de la page d'options, accédez au dossier de construction via la commande cd
et exécutez le serveur local de votre choix
yarn options-page
Modifiez isOptionsPage
sur option-init.ts
pour autoriser une adresse et un port spécifiques. Après cela, assurez-vous que le script utilisateur (par exemple, dans AG) contient également cette adresse et ce port.
Pour voir la page d'options, assurez-vous qu'AG filtre votre page de débogage.
Un moyen simple de tester le script est de visiter http://code.ptcong.com/better-js-popunder-script/
Cliquez simplement n'importe où sur cette page pour obtenir un popunder, ou utilisez des liens spécifiques pour obtenir un popup/popunder/tabup/etc.
Comportement attendu : les nouvelles fenêtres sont bloquées avec une notification dans le coin supérieur droit.
La page Options est déployée via les pages GitHub avec les actions manuelles Deploy popup blocker beta
et Deploy popup blocker release
pour les versions beta
et release
respectivement.