2013-06-05 8 views
6

Während es scheint, wie viele Leute scheinen auf Stack-Überlauf hav wurde mit dieser Schwierigkeiten haben, ich noch eine Beschreibung, warum sehen habe es wurde falsch gehen (1, 2, 3)jQuery getScript Ausgabe

Meine Code (für Testzwecke):

jQuery.getScript("res/fader.js", function() { alert("loaded"); }); 

funktioniert einwandfrei in Chrome (16). In Firefox (11) zeigt die Firebug-Konsole das angeforderte Skript und die erwartete Antwort an (einschließlich des MIME-Typs von application/javascript). Aber keine Warnung. Kein Fehler. Nichts.

Wenn ich später versuche, etwas in dem Skript zu referenzieren, das geladen werden sollte, ist es immer noch undefiniert (dies ist einige Sekunden nach dem onload-Ereignis und nachdem die Konsole anzeigt, dass das Skript abgerufen wurde).

Update

ich jQuery 1.9.1

+0

Sie müssen darauf verweisen mit '.find ('loaded_dom')' – karthikr

+0

jeder Fehler in der Browser-Konsole –

+1

Welche Version von jQuery verwenden Sie? Firefox 11 ist jetzt 10 Versionen veraltet und Chrome 16 ist 11 Versionen aus. Nicht sicher, ob dies der Grund für das Problem ist, aber wenn Sie jQuery 2.x verwenden, lohnt es sich, 1.x eine Chance zu geben, nur für den Fall. –

Antwort

1

Kudos und dank uncollected mit (fügen Sie eine Antwort & ich es als akzeptiert markiert werden) Zugeben der Hander Ausnahme, fand ich das Problem, ...

Eine Ausnahme trat auf - die von jQuery stillschweigend behandelt wurde. Das Hinzufügen des Handlers über getScript() ergab das Problem "ungültige Zuweisung der linken Seite". Leider sagt diese Ausnahme nicht, wo der Fehler aufgetreten ist. Ich versuchte dann eine andere Methode des Ladens des Skripts (Erstellen eines Skriptelements und Anhängen an den Körper), was bedeutete, dass der Standardhandler im Browser ausgelöst wurde, der mir die Zeilennummer und das Bit des fehlerhaften Codes gab:

this=null; 

Dies soll die Objektinstanz bereinigen, um einen Speicherverlust zu vermeiden, und funktioniert in Chrome, aber nicht in Firefox.