FF Addon Einfaches Beispiel funktioniert nicht
jakkob
- java
Hallo,
ich bin rel. neu bei sowohl Javascript als FF Addons. Aber ich habe mich schon recht umfangreich eingelesen. Ich versuche ein Addon zu erstellen, aber ich komme gerade nicht weiter.
Ich rufe über einen Button im Chrome eine JS-Funktion auf. Wenn ich da jetzt
alert('Hallo Welt!');
reinschreibe geht alles. Wenn ich aber
document.getElementsByTagName('head')[0].appendChild(myChild);
versuche (nachdem ich myChild erstellt habe, of course) dann bekomme ich immer nur
document.getElementsByTagName("head")[0] is undefined
error source line: [Break on this error] Filtered chrome url chrome://myExtension/content/browser.js
von firebug als fehlermeldung ausgeliefdert :-(.
Und das head-Element existiert natürlich. Auch kann ich die firebug-js-console nicht in der Funktion aufrufen
window.console.log('test');
resultiert immer in einer Fehlermeldung. Aber in der geladenen Seite kann ich alles ganz normal machen. Da funktioniert es zB auch, wenn ich in die Konsole
getElementsByTagName('head')...
schreibe.
Ich hoffe ich mache hier noch einen einfachen Denkfehler. Könnt ihr mir helfen?
Bist du sicher, dass das document-Objekt welches du da hast, das richtige ist?
Ich hatte mich vor nen paar Jahren mit nem Kumpel auch mal ran gesetzt und probiert ein Add On zu schreiben. Wenn ich mich jetzt nicht ganz täusche, musst du erst durch ein (meiner Meinung nach) Wirrwarr von Objekten in JS bis du wirklich bei dem document-object, welches der Seite an sich entspricht angekommen bist. Zumal jeder einzelne Tab der offen ist ja ein document-Objekt hat musst du da auch noch drauf acht geben.
Ich hoffe das Hilft dir ein wenig.
MfG thecreep
Hi,
ich hatte es gerade "gelöst", da ist auch eine Antwort da, die zu meiner Lösung passt. Das mit den vielen versch. Dokumentobjekten passt, denn wenn ich statt
window.document
window.content.document
benutze, scheine ich den aktuellen Tab zu referenzieren. Auf jeden Fall läufts...
Danke,
jakkob
benutze, scheine ich den aktuellen Tab zu referenzieren. Auf jeden Fall läufts...
Ich wird dir noch empfehlen, den Quelltext so aufzubauen, dass du nicht nur den aktuellen Tab referenzierst, sondern halt bei allen Tabs, jenach dem was du mit deinem Add On machen willst.