HTML/Úvod do JavaScriptu
Javascript (dále jen JS) přináší do webových aplikací interaktivitu mezi uživatelem a webovou stránkou. To znamená, že webová aplikace může omezit komunikaci se vzdáleným serverem na nezbytně nutnou míru, a zvýšit tak uživatelský komfort a přehlednost.
Na rozdíl od PHP, a dalších jazyků pro programování na straně serveru, se JS spouští až na straně klienta (v počítači uživatele). Uživatel si ho může ale také vypnout (což se nedoporučuje) a s tím je při vytváření webových aplikací nutné počítat.
Na JS je také založené dynamické HTML (DHTML), které umožňuje vázat různé události (onclick, onmouseover...) na různé akce (většinou změny CSS stylů).
JS může být vložen buď do hlavičky nebo do těla stránky.
Formy zápisu
JS má dvě formy zápisu:
- Interní
- a externí
Interní zápis
Interní zápis je nejjednodušší formou zápisu JS, ale je zase o to méně přehlednější. Mezi <script type="text/javascript"> a </script> se vloží samotný javascipt. type="text/javascript je MIME-type deklarace, která dříve nebyla vyžadována - do HTML pronikla z xHTML. Prohlížeče jsou schopny JS zobrazit i bez této deklarace, ale může to ohrozit validnost kódu (podle verze použitého HTML).
<script type="text/javascript">
alert('Ahoj světe');
</script>
Uvedený skript vypíše messagebox s textem "Ahoj světe".
Externí zápis
Externí zápis má podobnou syntaxi jako interní. Liší se tím, že u tagu <script> přibude další atribut a to src="cesta_k_skriptu.js. JS se tudíž vkládá z externího souboru s příponou *.js. Má stejný obsah jako ten, který by byl mezi tagy <script> a </script>. Ač v této situaci není žádný obsah mezi těmito tagy, tak jen počáteční tag <script> nestačí - musí se ukončit, protože je to tag párový!
<script type="text/javascript" src="muj_prvni_skript.js"></script>
kód ve stránce
alert('Ahoj světe');
obsah souboru muj_prvni_skript.js
Pro prohlížeče nepodporující JS
Pomocí párového tagu <noscript> je možné vepsat text pro prohlížeče nepodporující JS.
<noscript>Zapněte si Javascript. Přicházíte o skvělou funkci stránky.</noscript>