Popup Blocker da AdGuard é um script de usuário que bloqueia todas as janelas pop-up indesejadas em diferentes navegadores.
Funciona em Chrome, Firefox, Edge, Safari, IE10+ etc, basicamente em qualquer navegador que suporte gerenciadores de userscript. As exceções são alguns dos navegadores mais antigos que não suportam a API que usamos; o script pode não estar totalmente funcional lá.
O Popup Blocker não aplica a abordagem de regras de filtragem à detecção de pop-ups. Em vez disso, ele adiciona uma camada adicional às APIs nativas do navegador que são usadas para criar pop-ups. Dessa forma, essas APIs só podem ser chamadas quando causadas por uma entrada manual, e não por scripts pop-up/pop-under. Isso permite bloquear pop-ups mesmo em sites que tentam contornar bloqueadores de anúncios regulares usando WebRTC ou variando os servidores de anúncios.
Autoexplicativo, mas importante: se um clique fizer com que um pop-up seja exibido, não apenas o pop-up será bloqueado, mas também o clique inicial será processado como seria sem o pop-up.
Outros scripts na página não conseguem detectar que o Bloqueador de Pop-ups está sendo usado, a não ser tentando abrir um pop-up. Isso evita qualquer possível contorno do Bloqueador de Pop-ups.
Versão de lançamento atual : https://userscripts.adtidy.org/release/popup-blocker/2.5/popupblocker.user.js
Versão beta atual: https://userscripts.adtidy.org/beta/popup-blocker/2.5/popupblocker.user.js
O Popup Blocker está sendo desenvolvido pela mesma equipe que desenvolve o AdGuard, e o AdGuard para Windows pode servir como gerenciador de scripts de usuário. Se você for um usuário do AdGuard, vá para Configurações – Extensões – Adicionar extensão e insira o URL do arquivo .js do bloqueador de pop-ups desejado. Dessa forma, você pode usá-lo literalmente em qualquer navegador.
Por outro lado, Popup Blocker é um projeto independente, você pode usá-lo com qualquer outro gerenciador de userscript como Greasemonkey, Tampermonkey ou Violentmonkey. Certifique-se de que algum deles esteja instalado em seu navegador para poder utilizar o Bloqueador de Popup (basta inserir a URL do script na barra de endereço, ela será detectada automaticamente pelo gerenciador).
Você pode gerenciar uma lista de domínios permitidos e domínios silenciados em uma página de opções dedicada:
Para relatar um bug, acesse esta página e crie um novo problema.
Você pode nos ajudar a traduzir o Popup Blocker para outros idiomas! Nosso projeto no Crowdin está aberto para contribuições públicas.
As compilações de desenvolvimento têm o registro ativado e substituem significativamente mais APIs do navegador para examinar o comportamento do script pop-up/popunder. Não é adequado para uso normal.
O teste de unidade para construção de desenvolvimento está aqui.
Para construir o projeto, siga estas etapas:
Instale dependências locais executando o seguinte comando no terminal:
yarn install
Para construir, execute o seguinte comando no terminal:
$ NODE_ENV=<channel> ts-node tasks/builder --target=<target>
Substitua channel
pelo canal desejado, que pode ser dev
, beta
ou release
. Além disso, substitua target
pelo alvo de construção desejado, que pode ser
userscript
– cria userscript para um canal especificado;options
– página de opções de construção, que é uma página independente, que fornece ao usuário uma maneira conveniente de gerenciar sites permitidos e silenciados;tests
– testes de construção;bundle
– construa e agrupe todos os itens acima para um canal especificado.Alternativamente, você pode executar os seguintes comandos em um estilo minimalista:
yarn userscript-<channel>
yarn options-page
yarn tests
yarn bundle:dev
yarn bundle:beta
yarn bundle:release
Se você estiver compilando para desenvolvimento, observe que a saída não será reduzida e conterá logs no console do navegador.
As compilações beta e de lançamento serão reduzidas e todos os códigos de registro serão removidos.
Construa usando a página de opções, vá para a pasta de construção via comando cd
e execute o servidor local de sua escolha
yarn options-page
Modifique isOptionsPage
em option-init.ts
para permitir endereço e porta específicos. Depois disso, certifique-se de que o userscript (por exemplo, em AG) também contenha este endereço e porta.
Para ver a página de opções, certifique-se de que o AG filtre sua página de depuração.
Uma maneira fácil de testar o script é visitar http://code.ptcong.com/better-js-popunder-script/
Basta clicar em qualquer lugar da página para obter um popunder ou usar links específicos para obter popup/popunder/tabup/etc.
Comportamento esperado: novas janelas são bloqueadas com uma notificação no canto superior direito.
A página de opções é implantada por meio de páginas do GitHub com ações manuais Deploy popup blocker beta
e Deploy popup blocker release
para versões beta
e release
, respectivamente.