Dies ist ein komisches.Weird Browser/Ajax Fehler: Extra-Junk erscheint am Ende von Javascript-Dateien in Firefox
Wir schreiben eine Django-Anwendung mit einer umfangreichen JavaScript-Benutzeroberfläche, die sowohl Yahoo YUI als auch jQuery verwendet.
Unser Hauptseiten-Template enthält nun eine große Anzahl von js-Dateien. Und wir fangen an, einen merkwürdigen Fehler in Firefox (3 und 3.5) zu sehen. Manchmal stürzt das Javascript ab. Bei der Überprüfung in Firebug sehen wir, dass in einer der YUI-.js-Dateien ein Syntaxfehler aufgetreten ist. Wenn wir uns die Zeile in Firebug anschauen, sehen wir, dass es sich tatsächlich um eine Zeile handelt, die nicht in der Originaldatei existiert, sondern scheinbar ein angehängtes Junk-Javascript ist.
Zum Beispiel kann der letzte Teil eines despaceed yahoo-dom-event.js ist
YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.7.0", build: "1799"});
Nach Firebug, das jetzt eine nahe Kopie dieser Datei am Ende angehängt zu haben scheint, beginnend mit
Vielleicht ist dies einige der früheren Code, der irgendwo einen Puffer übergelaufen ist.
Also, hat jemand anderes so etwas erlebt? Oder kennt dies als ein Fehler in einer der Komponenten unserer Stapel:
- Django
- lighttpd
- Firefox
- Firebug
- YUI
- jQuery (auch auf der Seite)
Danke. Also, wenn ich Sie richtig verstehe, sagen Sie, dass dieses Extra, das ich * in der Quelldatei auf dem Server * nicht hervorhebe, eine absichtlich dynamisch geladene komprimierte Version eines anderen Codes sein könnte? – interstar
Ja, abhängig davon, wie YUI konfiguriert ist, könnte es versuchen, den komprimierten Code vom YUI-Server zu bekommen. Siehe diese Seite: http://developer.yahoo.com/yui/articles/hosting/ Beachten Sie den Unterschied zwischen der Auswahl von "Skript und CSS direkt laden" und "Dynamisches Laden mit YUI Loader". – Blixt