2009-10-08 8 views
10

J'ai créé un script Greasemonkey pour un site Web. Ce que fait le script, c'est d'ajouter un div à la fin de la page.
Comment exclure iframe dans Greasemonkey ou Tampermonkey?

document.body.insertBefore(myDiv, document.body.firstChild); 

Mais maintenant, le site ajoute un iframe pour google-annonces, en raison de mon div apparaît dans l'iframe aussi, ce qui est pas ce que je veux.

Comment puis-je arrêter le script qui affecte iframes?

Répondre

5

Greasemonkey supporte maintenant the @noframes directive (longtemps soutenu par Tampermonkey et Scriptish).
utiliser pour un moyen de nettoyage pour bloquer le fonctionnement en iframes.


Malheureusement, npdoty's answer va maintenant déclencher un avertissement dans la console du navigateur Firefox:

Avertissement: L'utilisation de retour en dehors des fonctions est dépréciée et peut provoquer des défaillances dans les futures versions de Greasemonkey.

+0

Cet avertissement est pas un problème, il vous suffit d'envelopper votre script dans une fonction anonyme: '(function() {...})();', c'est une bonne pratique de toute façon. Merci pour le '@ noframes', upvoted. – user

+1

Modifié mon acceptation. Merci de fournir une manière plus élégante. – fwonce

+0

De rien; heureux de vous aider. –

16

Je mets cela en haut de mes scripts pour éviter de courir sur des cadres ou iframes:

if (window.top != window.self) //don't run on frames or iframes 
    return; 
+0

Ca y est! MERCI :-) – fwonce

Questions connexes