War es hilfreich?

Lösung

Der beste Weg, JavaScript auf Ihrer Website enthalten ist, wie wenige Dateien wie möglich enthält am Ende auf der Seite *, nachdem alle Markup und sonstigen Vermögenswerte geladen wurde. Doing es auf diese Weise hat auch den zusätzlichen Nutzen der Förderung einer „ progressive Erweiterung “ Entwicklungsmodell.

* Yahoo verbringt aktiv viel Geld dieser Erforschung und hat gewidmet, in Vollzeit (einschließlich dem brillanten Steve Souders), die ihre Ergebnisse Online- und in Buchform .

Andere Tipps

Scheint nicht wie eine one-size-fits-all-Situation, so dass ich oft zu diesem berühmten Artikel greifen, um mir zu helfen Fragen wie diese zu beantworten:

http://developer.yahoo.com/performance/rules.html

Es wurde in einem der Podcasts erwähnt, aber wenn man die Javascript auf einer separaten Domain hosten, oder auch eine Sub-Domain kann der Browser mehr Verbindungen öffnen und downloaden Sie sowohl die js und den Rest-of-the-Seite bei der gleiche Zeit. Dies ist, warum viele Menschen wählen, um die Google-Instanz von jQuery zu verbinden, anstatt ihre eigenen. In diesem Beispiel wird auch cachine Vorteile hat, aber das Kernprinzip gilt.

In aller Kürze der Artikel sagt <script> Knoten dynamisch in der DOM zu befestigen, um parallele Downloads von Skript-Dateien zu erreichen. Das funktioniert und ist nicht neu.

Allerdings scheitert es den größten Nachteil des Verfahrens zu erwähnen: Obwohl Skripte parallel heruntergeladen werden, die Reihenfolge, wie sie sind, in der ausgeführt ist nicht deterministisch. IE werden sie in der Reihenfolge ausgeführt, sie fertig ist das Herunterladen, während Firefox sie in der Reihenfolge führt sie im DOM angeschlossen ist.

Das ist ein Problem. Zum Beispiel, sagen Skript A und Skript B hinzugefügt, dass die Technik. Nun stell dir vor Skript A jQuery und Skript B tut dies:

$(document).ready(function(){...})

Im IE sind Sie, wenn aus irgendeinem Grund geschraubt (zB Netzwerkverkehr, Cache-Miss) Skript B beendet ist, bevor Skript Ein Download, weil sie vor jQuery ausgeführt wird, geladen wurde.

Siehe diesem Artikel für eine bessere Erklärung.

Rex M Antwort ist die Weg zu gehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top