Tech Life

Ilustrační obrázek

Pozor na appendChild v Internet Exploreru

23. 02. 2007 00:00    kategorie: Tech Life    autor: LZe    komentářů: 0

Včera jsem strávil příjemné odpoledne laděním kusu javascriptového kódu, který ve Firefoxu běží normálně, ale v IE se prováděl cca 6 sekund (reakce na klik uživatele).
 

Nejdříve jsem se domníval, že problém je v Event modelu použitého frameworku. A jelikož IE neobsahuje nějaký nástroj pro benchmarking, přepsal jsem funkci do jiného frameworku…a nic. Nakonec mi nezbylo nic jiného než si vyhodit alert za každým blokem zdrojáku, až jsem se dostal k místu, kde IE nejvíce vytuhává a lokalizoval tento kus kódu (zkráceno):

this.div = document.createElement('DIV');
...
document.body.appendChild(this.div);

…a toto se prosím v IE na mém PC provádí cca 3 sekundy. Jelikož to tam bylo dvakrát tak 6 sekund. Nakonec jsem zjistil, že Exploreru z neznámého důvodu vadí, že DIV je prázdný. Jakmile jsem kód upravil následovně:

this.div = document.createElement('DIV');
...
this.div.innerHTML = 'IE SUCKZ!'
document.body.appendChild(this.div);

Tak vše začalo šlapat jak švýcarské hodinky. Logiku v tom nehledejte, jen další z mých hacků, jak donutit Explorer chovat se podle slušných mravů.

Sdílet odkaz:
tisk

Diskuze k článku

K článku nebyl zatím přidán komentář.

Přidat příspěvek

 

Kontakt pro média


Máte zájem o další informace, odborný článek či přednášku na konferenci? Kontaktujte nás prosím na pr@etnetera.cz.

RSS - Tech life


RSS kanál Tech Life Blogu

Offlineblog

Offlineblog

Ljama


Komix z prostředí imaginární firmy.

ljama

Ještě jste ho nečetli? Tak tudy ...

 
Doporučujeme: Nabídka práce, volná pracovní místa - pracovní portál SPRÁVNÝKROK.CZ