Como bloquear anúncios com atributos de ID HTML aleatórios?

1

Eu uso o uBlock Origin como meu bloqueador de anúncios. Isso facilita a adição de filtros personalizados por meio de uma ferramenta de separação que pode identificar os atributos% HTMLid e class dos elementos.

Existem alguns sites que geram um id aleatório para a seção de anúncios sempre que a página é carregada. O que é uma maneira eficaz de bloquear esses anúncios? Bloquear um determinado id não é mais possível.

Aqui está um exemplo de tal página. Observe o aleatório id .

link

Paraserclaro,nestemomento,nãomesintomuitoincomodadocomessesanúnciosnestesiteemparticular,porqueelessãoclaramenteidentificadosedestacados,porissosãofáceisdeignorarquandoumapáginaéarrastada.Masnopassado,estesitenãoosrotulou,efoidifícildistinguirosartigos"patrocinados" dos normais. Isso é o que me motivou a tentar bloqueá-los. Se eu quiser fazê-lo novamente no futuro, gostaria de saber como.

    
por Szabolcs 19.02.2017 / 13:31

1 resposta

1

Primeiro, é tudo sobre CSS. Como não há um ID único, você precisa, de alguma forma, fazer uma consulta que corresponda apenas aos elementos indesejados. Você pode testá-las nas ferramentas do desenvolvedor de seu navegador usando

document.querySelectorAll("...")

Às vezes, esses elementos têm outros atributos que os identificam exclusivamente, como estilos in-line. Você pode combiná-los usando um seletor de atributos:

div[style="background: ..."]

Às vezes, esses elementos aparecem em um ponto fixo na árvore DOM, como neste caso. Às vezes é complicado acertar, mas é muito fácil aqui, porque há sempre outro anúncio (já bloqueado) que os precede:

div.ad_container + div[id*=-widget]

Talvez seja o último elemento:

div:last-child

Você pode ler mais sobre os seletores de CSS em Rede de desenvolvedores da Mozilla .

No entanto, se feito corretamente, você não poderá fazer nada sem um script. Já vi scripts que criariam uma tag com um nome aleatório (como <uaUZGI> ) em um local aleatório na árvore DOM que, de alguma forma, seria exibido no local desejado na tela.

    
por 19.02.2017 / 13:46

Tags