2009-05-30 9 views
0

Je construis une extension Firefox et j'ai parcouru un long chemin. L'une des parties de mon extension est l'endroit où j'affiche un DIV au bas de la page et je veux mettre une annonce dans le div, mais pour une raison quelconque, il redirige vers une autre page entièrement avec l'annonce sur il. Donc, il semble ne pas me permettre d'insérer ce code ci-dessous dans le div qui se trouve au fond. Toute chance que quelqu'un puisse aider?Comment Injecter Javascript avec Firefox Extension

Ce code appelle bien entendu le fichier "ad_display.js" et c'est là qu'il fait la redirection. De toute façon je peux le faire ou suis-je coincé dans l'eau?

Merci !!!

<!-- Beginning of Project Wonderful ad code: --> 
<!-- Ad box ID: 38154 --> 
<script type="text/javascript"> 
<!-- 
var pw_d=document; 
pw_d.projectwonderful_adbox_id = "38154"; 
pw_d.projectwonderful_adbox_type = "2"; 
pw_d.projectwonderful_foreground_color = ""; 
pw_d.projectwonderful_background_color = ""; 
//--> 
</script> 
<script type="text/javascript" src="http://www.projectwonderful.com/ad_display.js"></script> 
<!-- End of Project Wonderful ad code. --> 
+0

Vous n'avez donné aucun code d'extension. Comment essayez-vous de faire l'injection? Voir http://stackoverflow.com/questions/843802/how-to-add-elements-to-web-page-from-firefox-extension/844132#844132 et https://developer.mozilla.org/fr/Working % 5Favec% 5Fwindows% 5Fin% 5Fchrome% 5Fcode pour plus d'informations à ce sujet. –

Répondre

3

Deux solutions:

  • Soit vous répliquent la fonctionnalité de ce script ad_display, le changement "document.write (pw_s)" à quelque chose d'un peu plus raisonnable comme « document.getElementById ('mydivwithanad'). innerHTML = pw_s "
  • Ether vous utilisez insérer un iframe dans la page plutôt qu'un div, et vous injectez ce code dans l'iframe.
+0

Ah, document.write explique la disparition du problème de la page. document.write ne peut être utilisé correctement/pendant que/la page est en cours de chargement, pas après. –

+0

Exactement, document.write est vraiment destructeur. Donc, fondamentalement, soit vous utilisez une méthode non-destructive (solution 1), soit vous l'utilisez dans un environnement "sandboxé", un iframe (méthode 2). –

+0

Merci, j'ai travaillé avec le numéro 1. –

Questions connexes