JavaScript hinter/nach per includeJS eingebundene Dateien schreiben

  • torben75hh torben75h...
    Sternenflotten-Admiral
    0 x
    194 Beiträge
    0 Hilfreiche Beiträge
    16. 12. 2011, 12:20

    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 [b]vor[/b] den mit includeJS eingebundenen Dateien.
    Ich benötige eine Möglichkeit, [b]hinter[/b] den Dateien noch etwas zu schreiben.

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


  • 1
  • Shark1982 Shark1982
    Padawan
    0 x
    49 Beiträge
    0 Hilfreiche Beiträge
    16. 12. 2011, 16:03

    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 [b]additionalHeaderData[/b] zählt letztendlich nur die Reihenfolge der Einbindung der verschiedenen Extensions Templates

    1. #### Fügt an bestehende Angaben im header dies zuletzt an.
    2. $GLOBALS['TSFE']->additionalHeaderData[$this->prefixId] = '<link rel="stylesheet" type="text/css" href="' . $this->extpath . 'res/css/' . $cssTempFile . '" media="all" />' . "\n";
    3.  
    4.  
    5. ### wrappt das ganze in script blocks zusammen mit cdata blöcken je nach gewählten doctype im TS
    6. $script = "var hello = 'world'";
    7.  
    8. t3lib_div::wrapJS($script)

    Ich hoffe das hilft weiter.

  • 1