Include mit Javascript
26. Mai 2006 | In: Javascript
Diese Methode ist veraltet und kann Probleme verursachen!
»Hier gibt es eine bessere Lösung!«
Oft steht man vor der Situation, dass man für eine Webapplikation ein globales Javascript hat und für speziele Bereiche des Applikation recht umfangreiche zusätzliche Javascripte benötigt.
Hier bietet es sich an, die erweiterten Funktion in eigene Dateien auszulagern und nur dann einzubinden, wenn es nötig ist. Dies kann man serverseitig lösen aber manchmal macht es Sinn dies den Client erledigen zulassen.
Ein Lösung in Javascript kann wie folgt aussehen:
/* include */ function Include( files ) { for( index in files ) { if( '/' + files[ index ][ 0 ] == document.location.pathname || files[ index ][ 0 ] == '' ) { document.write( '< ' + 'script type="text/javascript" src="' + files[ index ][ 1 ] + '">< ' + '/' + 'script' + '>' ); } } } /* Aufruf der Include-Funktion. Ist das Erste Feld ein leerer String '', dann wird immer included */ Include( [ [ '', 'main.lib.js' ], [ 'messenger.php', 'messenger.class.js' ], [ 'overview.php', 'table.class.js' ], [ 'polling.php', 'ajax.class.js' ] ] ); |
Der Ansatz hat in jedem Fall noch Platz für Verbesserungen, ich habe den Code so aber schon recht oft nutzen können.

3 Kommentare zu Include mit Javascript
naden.de/blog » Archiv » Javascript include mit Document Object Model (DOM)
12. Mai 2007 um 16:52:36
[...] ich vor einiger Zeit (hier) gezeigt habe, ist eine dynmische Einbindung von zusätzlichen Javascript-Dateiein aus [...]
franz
21. Juni 2007 um 11:44:58
Eigentlich ein super Idee! Nur leider klappt deine Umsetzung so bei mir nicht. Mein Firefox z.B. erzeugt keinen Script-Tag, sondern schreibt die Zeichen so in den Body.
Ausserdem fehlt das schließende Script-Tag.
Mit folgendenden Änderungen funktioniert es bei mir super:
– ‘ + ‘ im Start-Tag vor dem script entfernen.
– Schließenden Script-Tag einfügen
naden
21. Juni 2007 um 12:05:04
Hi Franz, du hast Recht und Unrecht ;) Der Code “war” richtig. Das dolle Wordpress Plugin das ich fürs Code-Highlight benutze hat einen Teil des Codes verschluckt. Mit anderen ” + Klammerung wird es nun richtig dargestellt.