2009-03-02 4 views
2

J'ai un script Greasemonkey qui tente d'accéder à un élément HTML que Adblock est en train de désactiver. Est-il possible de créer une solution de contournement avec le script Greasemonkey pour éviter les conflits avec le plugin Adblock?Un script Greasemonkey peut-il remplacer les filtres AdBlock?

Je suis ouvert à toutes les idées, cependant changer le script pour éviter l'élément Adblock n'est pas une solution pour le moment.

Informations additionnelles

L'élément addblock Je suis en train de « permettre » est un élément de tableau d'un résultat de recherche google.

<table id="mbEnd" width="30%" style="margin-bottom: 1em;"> 

Le filtre Adblock cacher l'élément est:

google.com,google.com.au,google.co.uk,google.ca,google.se#table(id=mbEnd)(width=30%) 

Mise à jour: Certains suggèrent que désactiver simplement le filtre Adblock pour la page Je travaille sur. Je considère également ceci comme une non-solution, puisque n'importe qui utilisant mon script devrait exécuter la même action, et je ne peux pas m'attendre à tous mes utilisateurs pour modifier manuellement leurs arrangements d'Adblock.

+0

vous pouvez désactiver adblock pour ce site/élément – Malfist

+0

Quelles sont les spécificités de l'élément auquel vous essayez d'accéder et à quelles propriétés essayez-vous d'y accéder? –

Répondre

1

Vous pouvez désactiver adblock pour des pages ou domaines spécifiques. Cliquez simplement sur la flèche à côté du symbole et cela vous donnera plus d'options pour désactiver adblock.

Il est impossible de forcer un script Greasemonkey à remplacer automatiquement Adblock, car Adblock affecte la page avant le chargement de tous les scripts Greasemonkey.

+0

Je pense que le point intéressant est la manière dont Adblock affecte la page. Il n'analyse pas l'élément HTML du document, mais je crois comprendre qu'il applique une feuille de style CSS utilisateur au document qui masque l'élément HTML. Voir http://adblockplus.org/fr/faq_internal#elemhide – cmcginty

+0

ABP supprime autant de contenu qu'il peut détecter comme étant un lien d'annonce, et ne va à la dissimulation d'élément que si cela est inévitable (http://adblockplus.org/fr/filters # elemhide_basic). Si le seul problème était le masquage des éléments, vous seriez en mesure d'accéder à l'élément DOM, car CSS ne le cachera pas à JavaScript. –

+0

Ainsi, je m'en tiens à ma réponse originale, qui est que Greasemonkey va perdre à ABP. Si l'élément est bloqué par ABP, comment un code JavaScript est-il supposé y parvenir? –

0

À quels types d'éléments tentez-vous d'accéder? La plupart des éléments de la page doivent toujours être disponibles, juste avec 'display: none;'. J'utilise jQuery dans mes scripts Greasemonkey et il est capable d'obtenir le texte alt d'une image après l'avoir désactivé avec ABP.

$('#s1 + img')[0].alt 
=> Rohm and Haas Paint Quality Institute 

Si vous fournissez des informations plus spécifiques, je pourrais être en mesure de fournir une solution plus spécifique.

Accéder aux iframes bloquées peut être plus difficile mais faisable. Encore une fois, plus de détails vont m'aider à répondre.

Questions connexes