Ermitteln, ob das Skript bereits geladen wurde oder nicht

7

Es scheint, dass helloworld.js mehrmals geladen wird, je nachdem, wie oft ich auf #load klicke. Ich sage das, denn wenn ich mir den Google Chrome-Entwickler-Tools-Tab "Netzwerk" anschaue, wird helloworld.js so oft angezeigt, wie ich auf " #load " klicke.

%Vor%

Die Funktion hello() sieht folgendermaßen aus:

%Vor%

Ist es möglich zu erkennen, ob helloworld.js bereits geladen ist?

Wenn es also nicht geladen wurde, laden Sie es, und wenn es geladen wurde, laden Sie es nicht.

Dies zeigt mir Developer Tools derzeit, wenn ich viermal auf die Schaltfläche #load klicke:

    
oshirowanen 14.11.2012, 15:28
quelle

4 Antworten

5

Eine weitere Option ist .getScript() ausführen zu lassen, aber das Skript aus dem Cache des Browsers übernehmen zu lassen, damit es nicht jedes Mal neu geladen wird.

Fügen Sie dazu folgenden Code hinzu:

%Vor%

Dies stammt von der Dokumentationsseite .

    
Shadow Wizard 14.11.2012, 15:55
quelle
10

Setzen Sie ein Flag, wenn die Datei erfolgreich geladen wurde. Wenn das Flag gesetzt ist, überspringen Sie das Laden der Datei erneut.

Probieren Sie diesen Code aus,

%Vor%     
Muthu Kumaran 14.11.2012 15:41
quelle
8

Warum feuern Sie das Ereignis nicht einfach so ab:

%Vor%

Das würde nachfolgende Ladevorgänge verhindern und die Verwendung eines globalen

vermeiden     
Gabe 14.11.2012 15:43
quelle
3

Sie könnten eine Hilfsfunktion erstellen:

%Vor%     
pimvdb 14.11.2012 15:43
quelle