| 

.NET C# Java Javascript Exception

2
Hat das Auslagern von Skriptfunktionen in externe Dateien (z.B. in die Datei MeineFunktionen.js) Vorteile oder Nachteile für die Ausführungsgeschwindigkeit der Skripte?

<html>
<head>
<script language="JavaScript" src="MeineFunktionen.js">/script>
</head>
<body>
… (hier Funktionsaufrufe)
</body>
</html>


Gibt es Empfehlungen oder Einschränkungwen hinsichtlich der Datreigrößen für externe Skriptdateien?
News:
20.04.2012
clarissadave 11 2
2 Antworten
1
Für die "Ausführungsgeschwindigkeit" ist mir da nichts bekannt. Allerdings ist die Ladezeit der Webseite eher das Thema. Wenn Du die script Elemente - wie in Deinem Beispiel - in den Head Bereich packst, kann das zur Verzögerung beim Anzeigen der Seite kommen.

Yahoo hat sich intensiv über die Ladezeiten Gedanken gemacht. Dabei ist "YSlow" herausgekommen. Hier gibt es Infomationen zu dem Thema:
http://developer.yahoo.com/performance/rules.html#js_bottom

=> CSS an den Anfang und JavaScript ans Ende der Datei.

Mit dem neueren asyncronen Laden, ändert sich das aber auch schon wieder etwas:
http://friendlybit.com/js/lazy-loading-asyncronous-javascript/

Wenn es nicht eine kleine Funktion ist, würde ich immer mit externen JavaScript Dateien arbeiten. Dann wird der Code nur beim ersten Laden einer Seite auf Deiner Domain tatsächlich mit herunter geladen. Danach kann der JS Code aus dem Browser Cache kommen.


Ciao,
Mike
20.04.2012
Xantiva 2,3k 2 9
0
Grundsätzlich solltest Du nicht zuviele externe Dateien einbinden.
Für jede JS Datei macht Dein Browser einen Request (das gilt im Übrigen auch für andere Resourcen wie z.B. Bilder). Wenn das Aufbauen der Verbindung schon 50ms dauert (Ping Latenz), dann brauchen 10 externe Resourcen schon eine halbe Sekunde NUR für Verbindungsaufbau. Dann sind noch keine Daten ausgeliefert.

Wir halten das so: Alles an JavaScript in einer Datei minified ausliefern. Ausnahme *können* Bibliotheken wie jQuery bilden. Die gibt es in CDN und wenn das viele Seiten Benutzen, dann sind diese Dateien unter Umständen schon im Browser-Cache und müssen gar nicht erst geladen werden.

"Ausführungsgeschwindigkeit der Skripte"
-> Vernachlässigbar
"Empfehlungen oder Einschränkungwen hinsichtlich der Datreigrößen für externe Skriptdateien"
-> Naja: Deinen Code musst Du ja irgendwie ausliefern :) Keine Einschränkungen, aber es macht unter Umständen Sinn, einiges an Code nachzuladen wenn es nicht sofort gebraucht wird.
22.04.2012
DaSpors 4,2k 2 8

Stelle deine Web-Frage jetzt!