Zurückstellen des Ladens von JavaScript

9

Ich habe ein paar Artikel über das Verschieben von JavaScript gelesen und bin sehr interessiert daran. Es scheint sehr vielversprechend für Web-Apps zu sein, die auf mobilen Plattformen nützlich sein können, wo die Menge an JavaScript, die geladen und ausgeführt werden kann, begrenzt ist.

Leider sprechen die meisten Artikel darüber auf einem extrem hohen Niveau. Wie würde man das angehen?

BEARBEITEN

Normalerweise wird JavaScript beim Laden der Seite geladen. Es kann jedoch Funktionen geben, die nicht notwendig sind, bis eine bestimmte Aktion stattfindet. Zu diesem Zeitpunkt sollte das JavaScript geladen werden. Dies erleichtert die Belastung des Browsers beim Laden der Seite.

Insbesondere habe ich eine Seite, die sehr stark JavaScript verwendet. Wenn ich die Seite auf mein Telefon lade, wird sie nicht richtig geladen. Als ich die Seite debuggte, eliminierte ich einige der JS-Funktionen. Sobald genug eliminiert wurde, funktionierte die Seite plötzlich.

Ich möchte in der Lage sein, das JS nach Bedarf zu laden. Und möglicherweise beseitigen Sie sogar die Funktionen, die einfach für den Start verwendet werden.

    
steveo225 01.09.2011, 14:51
quelle

4 Antworten

4

Die Grundlagen sind einfach - zerlegen Sie Ihren JavaScript-Code in logisch getrennte Komponenten und laden Sie nur das, was Sie brauchen. Je nachdem, was Sie erstellen, können Sie Folgendes verwenden:

Lader:

Dependency Manager (die auch Loader sind):

Diese Werkzeuge verwenden eine Vielzahl von Techniken, um das Laden von Skripten, die Ausführung von Skripten zu verzögern, Abhängigkeiten zu verwalten usw. Was Sie brauchen, hängt davon ab, was Sie erstellen.

>

Vielleicht möchten Sie auch diese Diskussion durchlesen, um mehr über das Für und Wider zu erfahren mit solchen Techniken.

Antwort zum Bearbeiten:

Es gibt nicht wirklich eine gute Möglichkeit, Entladen JavaScript zu laden, das Sie bereits geladen haben - die beste Annäherung, die Sie erhalten können, ist, all Ihren Lade-Code-Namespace im Namespace Ihrer Anwendung zu belassen und dann "clean" up ", indem Sie diesen Namespace und alle darauf bezogenen Referenzen auf null setzen.

    
Sean Vieira 01.09.2011, 14:56
quelle
1

Ich habe ein einfaches Skript verwendet, das online mit einigen Änderungen von mir veröffentlicht wurde. Angenommen, Ihre komprimierte Javascript-Datei befindet sich im Cache-Verzeichnis Ihres Webservers und Sie möchten das Laden dieser komprimierten js-Datei verzögern.

Ihre komprimierte js-Datei:

%Vor%

Dies ist der Code HTML-Code:

%Vor%

Dies ist der Inhalt der defer.js Datei:

%Vor%

Ich möchte mich bei Ссылка bedanken, das mir geholfen hat zu verstehen, wie man die Parameter aus dem Skript bezieht Tag.

Tschüss

    
Michelangelo 30.10.2012 10:57
quelle
0

Verzögern Sie das Laden bis wann? Der Grund, warum JS zuletzt geladen wird, ist, dass das gesamte DOM zuerst geladen wurde.

Ein einfacher Weg ist, einfach

zu verwenden %Vor%

Sie könnten also leicht doSomething() function haben, um all Ihre JS zu laden.

Sie können auch window.onload wie

eine Funktion hinzufügen %Vor%

Wenn Sie JS-Librarys verwenden, z. B. jQuery und Dojo haben sie ihre eigenen onReady und addOnLoad Methoden, um einige JS erst auszuführen, nachdem das Dokument bereits geladen wurde.

    
Layke 01.09.2011 14:56
quelle
0

Hier finden Sie einen nützlichen Artikel zu den Defender- und Async-Attributen des Skriptelements. Wenn Sie diese Attribute angeben, verschiebt der Browser das Laden auf verschiedene Arten. Sie können auch ein externes Skript mit JavaScript nach dem Laden der Seite laden.

Es sollte auch beachtet werden, dass die Position Ihrer Skriptelemente in Ihrem HTML-Dokument die Lade- und Ausführungsreihenfolge bestimmt, wenn weder Verzögerung noch Async angegeben wurden.

    
Spycho 01.09.2011 14:57
quelle

Tags und Links