Usando o Chrome para criar regras de AdBlock / UBlock

2

EuqueroaprendercomousarosdevtoolsdoChromeparacriarminhasprópriasregrasdeadblockingpersonalizadasdeacordocomasintaxedoUblock/Adblock.Agora,antesdefazerisso,precisodescobrircomoasferramentasdedesenvolvimentodoChromefuncionam.

Observeaimagem,porfavor.Todoesseelementodivéoqueeuquerobloquear.Infelizmenteesteelementodivvemcomumid.Ditoidéumasaladaaleatóriadenúmeroseletrasquemudamtodavezquevocêrecarregaapágina.

Comopossodescobriroqueo"id" é realmente chamado para que eu possa criar uma regra de bloqueio apenas para esse id específico com esse nome específico?

Pontos de bônus se você puder me mostrar como criar a regra: P

    
por Grumpy ol' Bear 12.06.2016 / 09:18

2 respostas

0

Se o Id for gerado aleatoriamente a cada vez, você precisará encontrar alguma outra propriedade exclusiva para esse elemento DOM. As propriedades de texto não são ótimas porque você espera que nenhum outro nó use o texto que está sendo filtrado e que não haja tradução com base na localidade.

Dito isto, usei-o neste exemplo porque não tenho certeza de nada melhor neste site AllMusic que você está usando.

Usando a função Sublinhado find , você pode selecionar os nós filhos de document.body e retornar o primeiro nó que contém 'ad bloco 'no texto.

var blockElem = _.find(document.body.childNodes, function (elem) { 
    return elem.innerText && elem.innerText.toLowerCase().indexOf("ad block") != -1 }
);

Agora você tem o elemento DOM, que você pode manipular (remover, ocultar, etc.).

Uma alternativa usando a função filter do jQuery é:

var blockElem = $("body div").filter(function() {
    return $(this).text().toLowerCase().indexOf("ad block") != -1;
}).first();

PS. Eu sinto que isso é mais um tipo de pergunta do StackOverflow.

    
por 12.06.2016 / 22:50
0

Um filtro oculto Adblock Plus consiste em duas partes: <domain>##<selector>

  • A parte do domínio é apenas uma lista de domínios separados por vírgulas nos quais os elementos devem ser ocultados.

  • A parte do seletor define quais elementos devem ser ocultados e segue o padrão CSS Selector . Então, ao invés de aprender como escrever filtros, eu sugiro que você aprenda seletores de CSS, pois há muitos recursos úteis por aí sobre como escrevê-los.

Por exemplo, nesse caso, talvez seja útil saber que você pode selecionar um elemento com base em onde ele está no documento. por exemplo. body > :nth-child(1) selecionará o primeiro elemento no corpo. Para seletores mais específicos, você precisa verificar quais de suas características permanecem constantes e quais mudam.

    
por 13.06.2016 / 14:19