2009-05-30 4 views
0

Ich baue eine Firefox-Erweiterung und habe einen langen Weg zurückgelegt. Einer der Teile meiner Erweiterung ist, wo ich ein DIV am Ende der Seite zeige und ich möchte eine Anzeige in das div einfügen, aber aus irgendeinem Grund wird es jedes Mal, wenn es das tut, auf eine andere Seite mit der Anzeige umgeleitet es. Es sieht also so aus, als ob ich diesen Code unten nicht in das div einfügen kann, das sich am unteren Rand befindet. Gibt es irgendeine Chance, dass jemand helfen kann?Wie injiziere ich Javascript mit der Firefox-Erweiterung

Dieser Code nennt natürlich die Datei "ad_display.js", und das ist, wo es die Umleitung macht. Irgendwie kann ich das machen oder bin ich im Wasser stecken geblieben?

Danke !!!

<!-- 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

Sie haben keinen Ihrer tatsächlichen Erweiterungscodes angegeben. Wie willst du die Injektion machen? Siehe http://stackoverflow.com/questions/843802/how-to-add-elements-to-web-page-from-firefox-extension/844132#844132 und https://developer.mozilla.org/en/Working % 5Fwith% 5Fwindows% 5Fin% 5Fchrome% 5Fcode für einige Informationen dazu. –

Antwort

3

Zwei Lösungen:

  • Entweder replizieren Sie die Funktionalität dieser ad_display Skript, ändern "document.write (pw_s)" auf etwas ein wenig saner wie „document.getElementById ('mydivwithanad'). innerHTML = pw_s "
  • Ether verwenden Sie einen iframe in der Seite anstelle eines Div einfügen, und Sie injizieren diesen Code in den iframe.
+0

Ah, document.write erklärt das verschwindene Seitenproblem. document.write kann nur korrekt verwendet werden/während/die Seite geladen wird, nicht danach. –

+0

Genau, document.write ist wirklich destruktiv. Im Grunde genommen verwenden Sie entweder eine nicht destruktive Methode (Lösung 1) oder Sie verwenden sie in einer Umgebung mit "Sandbox", einem Iframe (Methode 2). –

+0

Danke, ich habe mit Nummer 1 gearbeitet. –

Verwandte Themen