Der Martin: Strategie zum laden von CSS/JS

Beitrag lesen

Hallo,

Ich versuche zZ angestrengt, mir eine vernünftige Strategie zu überlegen, um CSS und Javascript möglichst zügig zu laden.

die Überlegung ist an sich in Ordnung, aber ich fürchte, dass du teilweise auf dem Holzweg bist.

  1. Da ich CSS, welches für die Darstellung above-the-fold benötigt wird, nicht (oder nur sehr mühsam) eindeutig identifizieren kann, würde ich erstmal alles im head laden.

"above-the-fold"?? Alle CSS-Referenzen im head ist zunächst mal normal, ja geradezu zwingend. Woanders darf es nämlich gar nicht stehen.

  1. Ich lade es inline, um zusätzliche Requests einzusparen

Das ist kontraproduktiv. Die Einsparung eines Requests pro Seitenaufruf in allen Ehren, aber damit steigt für dich der Pflegeaufwand. Denn die Wahrscheinlichkeit ist doch sehr groß, dass wesentliche Teile des Stylesheets für alle Seiten deiner Website gleich sind. Hier würde ich die Wartungsfreundlichkeit höher ansetzen als ein paar Zehntelsekunden wegen eines weiteren Requests - abgesehen davon, dass das Stylesheet bei weiteren Aufrufen dann schon im Browser-Cache wäre und überhaupt nicht mehr geladen werden muss.

Ich gehe mal nicht davon aus, dass du mit inline meinst, style-Attribute im Markup zu verwenden.

  1. Ich binde exakt denselben CSS Code nochmal als externes Script vor dem schließenden body tag ein.

Das ist Unfug. Was soll das bringen? Abgesehen davon, dass <style> an dieser Stelle nicht erlaubt ist.

  1. Falls es weitere Seitenaufrufe durch denselben Benutzer gibt (mittels Session Variable oder Cookie ermitteln???), gebe ich das CSS nur noch als externes Script im head aus (kein inline und kein Footerscript mehr).

Warum?? Oder besser: Warum nicht von Anfang an so?

  1. Falls das Script beim allerersten Seitenaufruf im Browsercache gespeichert wurde, müsste bei folgenden Seitenaufrufen doch der Browser das externe Script im head ignorieren. Falls caching aus ist (eher selten oder?), läd der Browser das Script erneut -> Pech für den User.

Du konstruierst Probleme, wo keine sind.

Ciao,  Martin

PS: CSS ist kein Script-Code. Den Begriff Script im Zusammenhang mit CSS zu verwenden, ist verwirrend.

--
Man soll den Tag nicht vor dem Abend loben. Und den Mann nicht vor dem Morgen.   (alte Volksweisheit) Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(