EKKi: Reihenfolge beim Laden bzw. Ausführen von externen .js-Dateien

Beitrag lesen

Mahlzeit Struppi,

Ich gehe also davon aus, dass der IE6 die Datei "bar.js" geladen hat und ausführt, bevor er die Datei "foo.js" geladen und ausgeführt hat. In dem Fall existiert das Objekt "foo" natürlich noch nicht.

Bist du sicher?

Ja, ziemlich. Ich habe verschiedene Konstruktionen, Notationen und Reihenfolgen ausprobiert ... die Fehlermeldung tritt immer genau dann im IE auf, wenn ich den Quellcode wie beschrieben in zwei Dateien aufteile - ansonsten nicht. Die Fehlermeldung verweist auch immer auf genau diese Stelle, an der ja implizit davon ausgegangen wird, dass das Objekt "foo" bereits existiert.

Wenn ich - wie von Kai345 vorgeschlagen - vor die Stelle eine Abfrage, ob das Objekt existiert, samt Neuanlage eines leeren Objekts im Fehlerfall einbaue, kommt die beschriebene Fehlermeldung nicht ... dann habe ich nur das Problem, dass dann die eigentliche Definition des Objekts "foo" in der Datei "foo.js" dann das Unterobjekt "foo.bar" wieder überschreibt.

soweit ich das in Erinnerung habe, sollte es so keine Probleme geben.

Das glaube ich Dir gern - leider jedoch habe ich die beschreiebenen Probleme (die IMHO darauf hindeuten, dass der IE6 die Dateien anders lädt und ausführt als der Firefox).

Allerdings sind die Fehlermeldungen im IE ja leider nicht immer zielführend,

Das ist zwar richtig, in diesem konkreten Fall halte ich sie jedoch für halbwegs hilfreich, da in betreffenden Zeile genau das steht, was auch zum Verhalten passt (mit einer entsprechenden Abfrage und einem expliziten Anlegen eines leeren Objekts vor der Stelle zeigt sich nämlich, dass nach dem Laden des kompletten Dokuments die in "foo.bar" definierten Methoden eben *nicht* zur Verfügung stehen - da die Neudefinition in "foo.js" offenbar das Objekt "foo" komplett überschreibt).

diese Fehlermeldung tritt auch auf, wenn die JS Dateien eine falsche Zeichenkodierug verwenden, d.h. eine vom Hauptdokument unterschiedliche.

Das mag sein - alle Dateien sind jedoch Windows-1252.

Im Firefox scheint die Reihenfolge des Ladens und Ausführens diejenige zu sein, in der die Dateien auch im HTML-Dokument notiert sind - im IE6 offenbar nicht immer zwangsläufig.

Das klingt zumindest so, als ob das Problem eben nicht daran liegt.

Das mag sein - dann frage ich mich eben nur: woran sonst? Die Symptome deuten darauf hin ...

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|