Událost DOM Content Loaded

AndreaAndrea

Chceme v prohlížeči spoustit Javascriptový kód až po tom, co se načte celá stránka, je zparsována a DOM strom je kompletně vytvořen. Jakákoliv práce, procházení a manipulace s DOM totiž vyžaduje, aby byl element v DOM dostupný. Pokud bychom s prvky manipulovali dříve, než jsou vytvořeny v DOM stromě mohli bychom způsobit chyby v aplikaci.

K tomuto účelu je vhodné mít v prohlížeči událost, která se spouští až poté, co je kompletní DOM strom vytvořen a můžeme si být jisti, že prvky na stránce jsou připraveny pro manipulaci. Touto událostí je DOMContentLoaded.

document.addEventListener("DOMContentLoaded", function() {
	// kód pro manipulaci s prvky stránky
	alert("DOM byl načten :)");
});

Listener poslouchá na dokumentu na událost DOMContentLoaded, která pak vyvolá a spustí kód uvnitř funkce.

onLoad

K podobnému učelu máme i event window.onload. který se spouští až poté, co byly načteny všechny prvky stránky, včetně obrázků, stylů a dalšího obsahu, jako jsou například iframe nebo reklamy. Na druhé straně, DOMContentLoaded se spouští, když jsou načteny pouze HTML a DOM strom je kompletní, ale mohou stále být načítány externí soubory, jako jsou obrázky nebo styly. To znamená, že tato událost se spustí dříve než window.onload a může být užitečná pro spouštění kódu, který ovládá pouze HTML a DOM, například změny stylů, přidání interaktivních prvků nebo načtení dat ze serveru.