Velkou výhodou Javascriptu oproti jiným technologiím, které umožňovaly přidat interaktivitu do webových stránek, vždy bylo, že ho prohlížeče dokáží samy interpretovat. Nebyla potřeba instalace dalšího programu, rozšíření nebo modulu do prohlížeče, tak jako v případě Flashe, Silverlightu, Java Apletů.
Značka <script>
není součástí jazyka JS, ale je součástí značkovacího jazyka HTML.
Tato značka umožňuje spustit scripty, které pak web dělají interaktivní a dynamický, což HTML samo o sobě neumí.
Script tag
HTML script značka se používá k vložení skriptů, jako je JavaScript, do HTML dokumentu.
Vkládání kódu mezi tagy <script>
Kód JS může být umístěn přímo v HTML dokumentu mezi značkami <script>
a </script>
.
Pokud je script přímo vložen do HTML souboru, zvýší se velikost souboru a může to zpomalit načítání stránky.
Načtení externího zdroje
Alternativně může být kód JS umístěn ve zvláštním souboru (většinou s příponou .js) a tento soubor měl by obsahovat všechny potřebné funkce a proměnné které potřebujeme na použít stránce.
Po té se dá v HTML dokumentu načíst pomocí tagu <script>
a odkazu na něj pomocí atributu src.
Do atributu src je třeba zadat URL nebo cestu k souboru, který chceme načíst.
Je důležité, aby cesta k souboru byla správně napsána a aby soubor byl na této cestě nebo adrese dostupný.
Script tag má tři relevantní atributy:
type
- MIME typ skriptu obsaženého v tagu. Tradičně nastaveno na "text/javascript", i když oficiálně zastaralé.src
– URL externího souboru JavaScript, který se má načíst. Pokud je zadán src, nemůže být v bloku obsažen žádný další kód.defer
,async
- ovlivňují načtení scriptu na stránce.
Pokud má JavaScript soubor odlišné kódování znaků než HTML stránka, do které se má vložit, může dojít k problémům s čtením a interpretací kódu.
Většinou se script značka umisťuje buď na konci sekce <body>
nebo v sekci <head>
s atributem defer či async, které ovlivňují načítání a zpracování skriptu během parsování stránky.
k čemu jsou CDATA v tagu script ?
V tagu script se obvykle nachází JavaScript kód, který může obsahovat speciální znaky, jako jsou například < a >, které by mohly být interpretovány jako značky HTML. CDATA (Character Data) slouží k tomu, aby se prohlížeč nepokoušel interpretovat text uvnitř tagu jako HTML kód, ale jako čistý text.
<script type="text/javascript">
// <![CDATA[
var myString = '<p>Hello World!</p>';
document.getElementById('myDiv').innerHTML = myString;
// ]]>
</script>
Pokud se tyto znaky objeví v tagu script mimo CDATA sekci, mohou způsobit chybu v kódu a ovlivnit vzhled nebo chování webové stránky.