Mathias Brodala: Firefox 2.0.0.2 Probleme nach appendChild

Beitrag lesen

Hallo benedik.s.

ich füge über folgende Zeilen ein neues Javascript auf meiner Seite ein:

/* Create new script element */
var java_script      = document.createElement('script');
java_script.language = "JavaScript";
java_script.type     = "text/javascript";
java_script.text     = service.lib;
/* Add script element to DOM */
document.getElementsByTagName('head')[0].appendChild(java_script);

service.lib enthält dabei den script code

bisher konnte ich nun immer über - windowservice.service_name + "initService"; - initService-Funktion des angefügten Skript aufrufen.

Seit dem letzen FF-Update weigert sich dieser allerding die Funktion aufzurufen. Im IE funktioniert es nach wie vor.

Offenbar ist die JS-Engine des Firefox gehörig langsamer geworden. Ich kann dein Problem nachvollziehen aber eine Kontrolle der Anzahl der script-Elemente z. B. per DOM-Inspektor zeigt, dass das neue Element eingefügt wurde. Ruft man hiernach eine darin spezifierte Funktion manuell auf, wird sie problemlos ausgeführt.

Dir bleibt also augenscheinlich nichts Anderes übrig, als die Funktionen erst dann auszuführen, wenn Firefox sie registriert hat. Dies kannst du in einem Interval so lange überprüfen, bis das der Fall ist.

Einen schönen Donnerstag noch.

Gruß, Mathias

--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules