jQuery getScript

8

Ich bin derzeit stecken mehrere JavaScript-Bibliotheken, die in einer ganz bestimmten Reihenfolge laden müssen. Da jQuerys getScript () asynchron ist, beginnt es, alle Skripte sehr schnell herunterzuladen und führt sie, wenn sie fertig sind, aus. Da sie nicht in der Reihenfolge ausgeführt werden, bekomme ich mehrere Fehler von den Bibliotheken.

Leider kann ich keine dieser Bibliotheken ändern oder modifizieren. Was ich versuche, ist, eine Methode zu verwenden, die eine JavaScript-Bibliothek herunterlädt und sich im Callback selbst aufruft, bis alle Bibliotheken geladen sind.

Dies funktioniert für die erste Datei. Wenn die zweite Datei kommt, verliert sie den Kontext innerhalb des Callbacks und ich kann meine rekursive Methode nicht mehr aufrufen.

Irgendwelche Ideen?

Eine zusammengepasste Version des Codes:

%Vor%     
Kris 16.08.2011, 19:00
quelle

3 Antworten

9

Ich bin mir nicht sicher, was mit Ihrem Code nicht stimmt, aber hier ist, wie ich das tun würde:

%Vor%

edit, eine schönere Version:

%Vor%

oder noch schöner, wenn Sie sich nicht um alte Browser kümmern oder Function.prototype.bind selbst implementieren (mit Unterstützung für verbindliche Argumente und nicht nur für den this -Kontext):

%Vor%     
shesek 16.08.2011, 19:06
quelle
9

Sie können Synchronisierungsaufrufe einfach tun:

%Vor%     
Michael D. Irizarry 16.08.2011 19:04
quelle
0

einfache Form:

%Vor%

Verwendung:

%Vor%     
Behnam 19.08.2014 13:23
quelle

Tags und Links