• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mehrere JS und CSS Dateien in eine includen?

aJunkie

Mitglied
Meine Homepage hat zu viele Requests. Zurzeit sind es 33, die ich aber auf nur ein paar wenige reduzieren möchte.

Ist es nicht möglich, diese Dateien in eine PHP Datei zu includen?

HTML:
<script src="/01/01module/01article/templates/javas.js" type="text/javascript"></script>
<script src="/01/01acp/system/js/mootools-core.js" type="text/javascript"></script>
<script src="/01/01acp/system/js/mootools-more.js" type="text/javascript"></script>
<script src="/01/01acp/system/js/mootools-remooz.js" type="text/javascript"></script>
Das würde dann so aussehen:

<script src="/include/allejsdateien.php" type="text/javascript"></script>

PHP:
allejsdateien.php:
<?php
include ("/01/01module/01article/templates/javas.js");
include ("/01/01acp/system/js/mootools-core.js");
include ("/01/01acp/system/js/mootools-more.js");
include ("/01/01acp/system/js/mootools-remooz.js");
?>
Genau das selbe bei CSS Dateien?
 
Kannst Du durchaus machen. Achte jedoch auf den zurückgegebenen Content-type. Bei JavaScript:

Code:
header("Content-type: text/javascript");

Bei CSS entsprechend text/css.
 
Habe ich jetzt nicht ganz verstanden. :-/
Was header ansonsten macht, kann ich ja nachlesen, aber in welchem Zusammenhang das hiermit steht, weiß ich noch nicht.

Wie würden die Zeilen denn jetzt genau aussehen, um aus mehreren JS Dateien nur noch wie eine aussehen zu lassen?
 
Damit moderne Browser (FF, Opera, Google Chrome, Safari, IE8 etc.pp.) eine Datei die JavaScript-Code enthält korrekt einlesen und interpretieren können, muss diese Datei vom Server mit dem richtigen Content-type ausgeliefert werden. Ohne diesen wird der Code nicht interpretiert und kann auch nicht ausgeführt werden. Normalerweise wird eine Datei mit der Endung ".js" vom Server bereits automatisch mit dem richtigen Content-type versehen. Wenn Du den Code jetzt in eine php-Datei packst ist der Content-type aber nicht text/javascript sondern text/html - dadurch können moderne Browser den Code nicht ausführen. Aus dem Grund musst Du mit der header-Funktion den Content-type entsprechend setzen.
 
In etwa so:

PHP:
<?php
header("Content-type: text/javascript"); // Vor dem header befehl darf keine Ausgabe sein.
include("pfad/zur/datei.js"); //Deine Datei. Weitere sind natürlich möglich..
?>
 
Mal abgesehen davon, dass es nicht unbedingt so einfach ist.

Bist du sicher, dass du jedesmal die 33 Requests hast? Denn sowohl Javascript als auch CSS Dateiein können gecached werden. Was wesentlich sinnvoller ist, als alles in eine Datei zu packen. Wenn das bei dir nicht der Fall ist, dann dürfte was an der Serverkonfiguration nicht i.O. sein.
 
Also bei mir sind es immer 33 Requests.

Siehe Link in meiner Signatur.

Wie kann ich die denn sonst reduzieren? Die Dateien in eine zu includen, würde aus 5 Requests ja nur noch eine machen?
 
(ich seh kein Signaturen) Dann stimmt was mit deinem Berowser nicht. Hast du den Cache ausgeschaltet?
 
Wie kommst du eigentlich auf 33 requests?
Bei mir sind es deutlich mehr.
 
Zurück
Oben