Zum Inhalt springen

JavaScript hinter/nach per includeJS eingebundene Dateien schreiben

Erstellt am 16. Dezember 2011 · 1 Antwort · letzte Antwort am 16. Dezember 2011

Tags: Frage

torben75hh ·

Bei jQuery-Plugins kommt es meistens auf die Reihenfolge der Script-Einbindung an.

Wenn der JavaScript-Code vor der Einbindung der jQuery-Lib geschrieben wird, passiert meist gar nichts.

Ich verschiebe per "moveJsFromHeaderToFooter" die JavaScript-Dateien ans Ende der Seite. Ist auch alles schön und gut.

Nur möchte ich jetzt nach diesen Dateien noch JavaScript in die Seite schreiben. Die jQuery-Plugins können meistens mit kleinen Code-Snippets konfiguriert werden. Damit ich das in meiner Extension etwas flexibler halten kann - also z. B. per Flexform konfigurieren - möchte ich keine JavaScript-Datei einbinden, sondern direkt JavaScript-Code schreiben.

Mit "page.999999999" kann ich zwar ziemlich weit am Ende Code einbauen, aber eben vor den mit includeJS eingebundenen Dateien.
Ich benötige eine Möglichkeit, hinter den Dateien noch etwas zu schreiben.

Einigermaßen klar, was ich will?
Kann mich jemand in die richtige Richtung schupsen?

Shark1982 ·

Ich verstehe jetzt richtig du willst bestimmten JS Code wirklich als letztes einfügen nach der eigentlichen Einbindung durch vorherige TS Angaben.
Das geht relativ einfach.
Hier zwei Befehle mal examplarisch aufgezeigt die ich so immer in meinen Extension verwendete.

Bei additionalHeaderData zählt letztendlich nur die Reihenfolge der Einbindung der verschiedenen Extensions Templates

#### Fügt an bestehende Angaben im header dies zuletzt an.
$GLOBALS['TSFE']->additionalHeaderData[$this->prefixId] = '<link rel="stylesheet" type="text/css" href="' . $this->extpath . 'res/css/' . $cssTempFile . '" media="all" />' . "\n";


### wrappt das ganze in script blocks zusammen mit cdata blöcken je nach gewählten doctype im TS
$script = "var hello = 'world'";

t3lib_div::wrapJS($script)

Ich hoffe das hilft weiter.