Nekonzistence v implementacích události DOMContentLoaded

Pokud používáte JavaScript, ať již na webové stránce nebo ve webové aplikaci, velmi pravděpodobně jste potřebovali spustit nějaký skript hned po načtení stránky. K tomu byla původně určena událost „load“, ta se ovšem používá méně a méně. Proč? Protože je vyvolána příliš pozdě, totiž až ve chvíli, kdy je stránka kompletně načtena včetně posledního bytu posledního obrázku. To v řadě případů nestačí, proto se stále častěji používá událost DOMContentLoaded (definovaná v HTML5), která je vyvolána co nejdříve je to možné, tj. po načtení a zpracování celého dokumentu stránky (čili v momentě, kdy DOM stránky obsahuje i poslední značku stránky) bez ohledu na případné načítání obrázků.

Podporují ji nové verze prohlížečů Firefox, Safari a Opera, naopak v Internet Exploreru se ji javascriptové frameworky snaží emulovat. Článek DOMContentLoaded Inconsistencies (in Browsers and JavaScript Libraries) popisuje problémy, kterými trpí jednotlivé emulace i implementace v prohlížečích. Pokud DOMContentLoaded používáte (a to je pravděpodobné, protože tato událost je v javascriptových frameworcích hojně využívána pod různými označeními – viz zmíněný článek), dejte si pozor na možné problémy. Většinou se jedná jen o krajní případy, ale je dobré o nich vědět.

Martin Hassman založil a vede magazín Zdroják. Absolvoval VŠCHT Praha. Byl u založení projektu CZilla (dnes už nepamatujete, nevadí). Stavěl mosty a metal cestu pro HTML5 (to tu ještě máme). V GUG.cz organizoval akce pro vývojáře (a jestli neumřeli, kódují si dodnes…).

Zatím nebyl přidán žádný komentář, buďte první!

Přidat komentář
Zdroj: https://www.zdrojak.cz/?p=312