Přejít k navigační liště

Zdroják » Zprávičky » Nekonzistence v implementacích události DOMContentLoaded

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.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Jak Reddit migroval svou funkcionalitu komentářů z Pythonu do Go

Různé
Komentáře: 0
Reddit modernizuje jednu ze svých nejdůležitějších částí infrastruktury: systém komentářů, který denně obsluhuje miliony uživatelů. Původní Pythonový monolit přestával vyhovovat nárokům na výkon a škálování, a proto se tým rozhodl přepsat celý backend komentářů do Go. Migrace probíhala postupně, s paralelním během staré a nové služby, aby nedošlo k narušení uživatelské zkušenosti. Inženýři zavedli detailní porovnávání odpovědí, izolované databáze a robustní monitoring, což umožnilo bezpečné testování na živém provozu. Celý proces ukazuje, jak lze zásadní infrastrukturní změny provést bez výpadků a s důrazem na konzistenci dat.

Vite 8 Beta přináší nový bundler Rolldown a zásadní zrychlení buildů

Vite je moderní nástroj pro vývoj webových aplikací, který klade důraz na rychlost a jednoduchou konfiguraci. Umožňuje okamžitý start dev serveru a optimalizované produkční buildy, což urychluje vývoj i nasazení. Verze 8 Beta přináší zásadní změnu díky integraci bundleru Rolldown napsaného v Rustu, který sjednocuje vývojovou a produkční pipeline. Novinka výrazně zrychluje buildy a přináší moderní optimalizace. Součástí jsou také nové funkce pro TypeScript a připravovaný Full Bundle Mode pro rychlejší dev server.