Úloha 1 – Vložení JavaScriptu do hlavičky stránky
Úvod k úloze
Vkládání skriptu do hlavičky stránky patří mezi základní dovednosti při práci s JavaScriptem a HTML. Tento postup se využívá hlavně tehdy, když je potřeba načíst kód nebo knihovny dříve, než se zobrazí samotný obsah stránky. Typicky jde například o analytické skripty, měřicí nástroje nebo globální nastavení aplikace. Správné pochopení tohoto způsobu vložení je důležité, protože má vliv na rychlost načítání stránky i na to, zda bude JavaScript fungovat podle očekávání.
Teorie a principy
-
Tag
<script>lze umístit do hlavičky (<head>) i těla stránky. Pokud se nachází v<head>, spustí se dříve, než se načtou prvky v<body>. -
Nevýhoda: pokud skript pracuje s elementy v těle dokumentu, může selhat, protože v době jeho spuštění ještě nejsou k dispozici.
-
Řešení:
-
Použít atribut
defer, který zajistí, že se skript načte při načítání stránky, ale spustí až po vykreslení obsahu. -
Nebo počkat na událost
DOMContentLoaded, která signalizuje, že HTML je načtené.
-
-
Do hlavičky se proto často umisťují pouze skripty, které nepotřebují přímý přístup k DOM prvkům – například knihovny nebo globální proměnné.
Praktické příklady kódu
Skript vložený do hlavičky
Použití atributu defer
-
Soubor
script.jsse načte během vykreslování stránky, ale spustí až po načtení obsahu v<body>.
Typické chyby / záludnosti
-
Pokus o manipulaci s DOM před načtením
<body>– skript nenajde prvky a skončí chybou. -
Zapomenutý atribut
deferu externích souborů v hlavičce – vede k problémům při práci s HTML elementy. -
Příliš velké nebo blokující skripty v
<head>– mohou zpomalit načítání celé stránky.
Shrnutí
-
Skript lze vložit do hlavičky, ale spustí se před načtením obsahu stránky.
-
Do hlavičky patří hlavně konfigurační a podpůrné kódy (např. knihovny, analytika).
-
Pokud skript pracuje s DOM prvky, je nutné použít
defernebo čekat na událostDOMContentLoaded. -
Vkládání do hlavičky má vliv na rychlost a spolehlivost stránky, proto je třeba zvolit vhodnou strategii.