Javascript später parsen

thecrazykaktus

Lt. Junior Grade
Registriert
Juli 2007
Beiträge
453
Hi Leute,

weis nicht ob ich hier richtig bin aber mal schauen :)
Und zwar arbeite ich gerade etwas an Optimierung meiner Homepage und bekomme von pagespeed die Meldung das ich das Javascript später parsen soll. (Jquery)

Jquery is ja im Header eingebunden. Kann mir einer sagen wie man später das javascript parst?
 
Das solltest du lassen.
Du hast doch bestimmt auf jeder Seite JQuery Funktionen benutzt oder nicht? Wenn deine HTML Seite jetzt JQuery Befehle verwendet BEVOR die Library geladen wurde, dann bekommst du sehr wahrscheinlich nur noch Fehlermeldungen ;)

Zur Geschwindigkeitsoptimierung könntest du die .js Datei auf einen Server legen der schneller ist. Vielleicht ist es nur das, was bemängelt wird. ?!
 
Das Javascript einfach am Ende der Seite einbinden.

HTML:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <div id="content">...</div>
  
  <!-- Hier die Scripte einbinden -->
  <script type="text/javascript" src="..."></script>
  <script type="text/javascript" src="..."></script>
</body>
</html>
Ergänzung ()

benneque schrieb:
Das solltest du lassen.
Du hast doch bestimmt auf jeder Seite JQuery Funktionen benutzt oder nicht? Wenn deine HTML Seite jetzt JQuery Befehle verwendet BEVOR die Library geladen wurde, dann bekommst du sehr wahrscheinlich nur noch Fehlermeldungen ;)

Zur Geschwindigkeitsoptimierung könntest du die .js Datei auf einen Server legen der schneller ist. Vielleicht ist es nur das, was bemängelt wird. ?!

Sollte das so sein, wäre das Javascript der Seite generell zu optimieren. Man sollte Javascript in so ziemlich allen Fällen erst ausführen, wenn die Inhalte fertig geladen wurden. Stichwort: DomReady.

Dafür bringt jQuery die Core-Function $() bzw. jQuery() mit.
 
Wenn es eine externe Javascript-Datei ist, kann man mit dem defer-Attribut im script-Tag veranlassen, dass sie erst ausgeführt wird, nachdem die komplette Seite geladen wurde.

Code:
<script type="text/javascript" defer src="...." ></script>
 
Klar, man sollte alles erst zum Domready-Event aufrufen lassen, nur geht das bei den Kernfiles eines Frameworks, sei es nun jQuery, Mootools oder sonstwas, nicht. Die müssen regulär geladen werden. Hier ist die einzig sinnige Geschwindigkeitsoptimierung, externe Quellen zu nutzen. Ein Glück, es gibt ja eine Google API dafür. Kaum ne Quelle dürfte schneller sein als das Google CDN.
 
JackFox schrieb:
Dabei handelt es sich um die von mir oben bereits erwähnte Funktion...
Dein Edit kam erst nachdem ich angefangen habe meinen Post zu verfassen.
Und vom Shortcut würde ich abraten, da es weniger klar ist was passiert. Wegen den paar Zeichen weniger tippen würde ich nicht riskieren nach ein paar Monaten nachdenken zu müssen was da passiert (und wenn es nur ein paar Sekunden sind).
 
Zuletzt bearbeitet:
Backslash schrieb:
Dein Edit kam erst nachdem ich angefangen habe meinen Post zu verfassen.
Und vom Shortcut würde ich abraten, da es weniger klar ist was passiert. Wegen den paar Zeichen weniger tippen würde ich nicht riskieren nach ein paar Monaten nachdenken zu müssen was da passiert (und wenn es nur ein paar Sekunden sind).

Oder Millisekunden, oder gar nicht, weil man mit jQuery arbeiten kann :o)

PS: Du hast 8 Minuten gebraucht um die 2 Zeilen zu tippen? Naja ok, Recherche kann ja schon mal 7 Minuten dauern...
 
hab mal eine andere frage.. und zwar bekomme ich diese meldung von google pagespeed obwohl javascript.. das letzte ist was vorm schließendem body tag steht.. noch später kann ich das ja nicht einbinden.. ist jetzt ein fehler von google?
 
Page Speed kann sich auch nur an gewissen Regeln orientieren. Manche Sachen kann man nicht vor </body> verbannen, andere (wie z.B. Frameworks) kann man auf Teufel komm raus nicht asynchron laden lassen bzw. später parsen. Genauso regt sich Page Speed regelmäßig über die Cache Time von gewissen Scripten auf, die man von externen Quellen wie Facebook einbindet. Das hat sich bei mir sogar schon über die Cache Time von Scripten aufgeregt, die ich aus dem Google CDN beziehe.

Setz alles nach besten Möglichkeiten um, aber reg dich nicht über Sachen auf, die dann noch übrig sind. Wenn du wirklich schneller werden willst musst du eh die Time To First Byte senken, also deine Server-Scripte beschleunigen.
 
Zurück
Oben