Est-il possible d'écrire une règle de filtre personnalisée de sorte que tout div
, span
ou p
et ses enfants sont cachés lorsqu'il existe un mot spécifique dans la partie de texte, à savoir Trump
?
Par exemple, j'ai cette structure
<div>
<a class="..." href="...">Donald Trump said blablabla.</a>
</div>
J'ai essayé cela, mais cela n'a aucun effet:
##div>a:has-text(Trump)
Essayez ##div>a:has-text(/Trump/)
Il semble has-text
Sélecteur ne fonctionne que lorsqu'un domaine de niveau supérieur est donné. Ainsi, les œuvres suivantes, par exemple, mais uniquement sur le site Web du Guardian:
theguardian.com##.fc-item__container:has-text(Trump)
:has-text()
est un filtre cosmétique procédural . Ceux-ci "doivent toujours être spécifiques, c'est-à-dire préfixé avec le nom d'hôte du site (s) sur lequel ils sont destinés à appliquer."
Les filtres à cosmétiques procéduraux sont puissants mais à éviter si possible, car ils peuvent ralentir le chargement du site (JavaScript doit être inséré et visiter beaucoup de nœuds).
Si vous le voulez toujours, cela devrait ressembler à ceci:
example.com,domain.com,anotherexample.com##div>a:has-text(Trump)
Vous peut changer ce comportement Donc, un filtre cosmétique procédural non spécifique comme ##div>a:has-text(Trump)
fonctionnera, mais c'est absolument non recommandé . Il ralentira votre navigateur sur chaque page et il sera possible que des erreurs dans les luttes de filtre externes puissent tourner et produire beaucoup de faux positifs/overblocs.
Vous pouvez trouver cette option enfouie dans
true
p.s.: Avancez les barres obliques comme :has-text(/Target words/)
sont pas nécessaire. Si vous les utilisez, l'expression à l'intérieur sera évaluée comme regex qui entraînera une charge de travail encore plus.