kati: IE / dynamisches Laden von Scripts (window-objekt)

Beitrag lesen

Hallo,

ich habe einen Script-Loader geschrieben, der Scripts dynamisch in ein Dokument einfügt. Alle Klassen / Funktionen , die in diesen Scripts vorhanden sind, sind nach dem Laden auch verfügbar.

Das Einfügen sieht so ähnlich aus:

  
var heads = document.getElementsByTagName( "head" );  
var script  = document.createElement("script");  
//-- set the src attribute, that means load the script!  
script.src  = "xxx.js";  
script.type = "text/javascript";  
var head = (heads.length > 0 ) ? heads[0] : document.body;  
//-- append child to the head parent node  
head.appendChild(script);	  

Nun möchte ich alle Function-Objekte, die das Dokument kennt, durchlaufen

  
for( var name in window ) {  
	var f = window[name];  
	if( typeof f != 'function' ) continue;  
        //... do something  
}  

jedoch sind diese im window-Objekt nicht vorhanden, zumindest dann nicht, wenn man mit dieser for-each-Schleife drübergeht. Kennt man den Namen des Function-Objektes und referenziert dieses direkt (window["MeineKlasse"]), kennt sich IE plötzlich aus. Warum?!

Ich arbeite schon seit einigen Jahren im JS-Umfeld - und zwar sehr intensiv - jedoch ist mir so eine Sch... Software wie IE noch niemals untergekommen. Es ist eine Qual etwas für IE zu entwickeln. Rein für die Optimierungen und Kompatibilität mit IE-Browsern (6, 7, 8) muss man mind.30% der Arbeitszeit einplanen, weil das so ein Mist ist! Ich bin wirklich entsetzt!

Danke für etwaige Vorschläge, wie man dies fixen könnte.
kati