Mahlzeit Pragma,
Ich bin mir immer sicherer, dass der IE6 - aus welchem Grund auch immer - erst die Datei "bar.js" ausführt und genau deshalb die beschriebenen Fehler auftreten.
Kannst Du das verifizieren, indem Du z.B. am Anfang von foo.js alert('foo') und am Anfang von bar.js alert('bar') einsetzt?
Gerne:
foo.js:
--------------------------------------------------
alert('BEGINN foo.js');
// ...
var foo = {
// ...
}
// ...
alert('ENDE foo.js');
--------------------------------------------------
bar.js:
--------------------------------------------------
alert('BEGINN bar.js');
// ...
foo.bar = {
// ...
}
// ...
alert('ENDE bar.js');
--------------------------------------------------
Reihenfolge im Firefox (3.5.5):
"BEGINN foo.js"
"ENDE foo.js"
"BEGINN bar.js"
"ENDE bar.js"
Reihenfolge im IE6:
"BEGINN bar.js"
"Es ist ein Laufzeitfehler aufgetreten
Soll der Debugmodus gestartet werden?
Zeile: 11
Fehler: 'foo' ist undefiniert"
Die Frage bleibt bestehen: wie kann ich dafür sorgen, dass der IE6 die eingebundenen Javascript-Dateien in der Reihenfolge abarbeitet, wie sie auch im HTML-Dokument definiert sind?
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|