Podrobnejší popis tagu <script>, verzie JavaScriptu, spôsoby zápisu.
13.7.2004 10:00 | Rišo Marko | přečteno 23155×
V tagu <script>
je možné špecifikovať, ktorá verzia JavaScriptu je použitá. A to pomocou parametru LANGUAGE = hodnota. Môže to byť "JavaScript", "JavaScript1.1", "JavaScript1.2", "JavaScript1.3" "JavaScript1.4" alebo "JavaScript1.5" a špeciálne pre IE "JScript". Väčšina prehliadačov si zistí verziu JavaScriptu z tohto tagu a pokiaľ definovanú verziu nepodporuje skript sa ignoruje.
Tu je jednoduchý skript pomocou ktorého môžte zistiť ktoré verzie JavaScriptu váš prehliadač podporuje:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>
Verzie JavaScriptu
</title>
</head>
<body><p>Váš browser podporuje:<br></p>
<script language
=
"JavaScript1.1"
>
<!--
document.write("JavaScript 1.1<br> <br>");
//-->
</script>
<script language
=
"JavaScript1.2"
>
<!--
document.write("JavaScript 1.2<br> <br>");
//-->
</script>
<script language
=
"JavaScript1.3"
>
<!--
document.write("JavaScript 1.3<br> <br>");
//-->
</script>
<script language
=
"JavaScript1.4"
>
<!--
document.write("JavaScript 1.4<br> <br>");
//-->
</script>
<script language
=
"JavaScript1.5"
>
<!--
document.write("JavaScript 1.5<br> <br>");
//-->
</script>
<script language
=
"JScript"
>
<!--
document.write("JScript<br> <br>");
//-->
</script>
</body>
</html>
Výsledok:
|
Ak si pozriete w3c špecifikáciu tagu script zistíte, že parameter language v tagu script bol označený ako deprecated (nepotrebný - nahradený novším zápisom) a bol nahradený zápisom type. To znamená, že zápis s language môžte kľudne používať, ale hrozí, že ďalšími verziami HTML už nebude podporovaný. Zápis language = "jazyk" bol nahradený zápisom type = "text/javascript" . Je prakticky jedno, ktorý zápis použijete pretože oba druhy sú v súčasnej dobe podporované väčšinou prehliadačov. Ja budem uprednostnovať zápis s "text/javascript" .
Jazyk JavaScript bol vyvynutý firmou Netscape a tiež ho zo začiatku podporoval len prehliadač Netscape Navigator. Firma Netscape nechcela aby bol JavaScript podporovaný len ich prehliadačmi a tak sa dala do spolupráce s ECMA(European Computer Manufacturers Association) s cieľom priniesť svetu štandardizovaný skriptovací jazyk. ECMA vypracovala normu ECMA-262 v ktorej opísaný ECMAScript - jazyk založený na prvej verzii JavaScriptu. Verzia JavaScriptu 1.2 nebola ešte plne kompatibilná s normou ECMA-262 pretože Netscape si pridal do JavaScriptu 1.2 množstvo vymožeností, ktoré v ECMA-262 neboli definované. JavaScript 1.3 je plne kompatibilný s provou verziou ECMA-262. JavaScript 1.4 je tiež plne kompatibilný s prvou verziou pretože druhá ešte nebola dokončená a JavaScript 1.5 je plne kompatibilný s treťou verziou ECMA-262. I keď verzie JavaScriptu su s ECMAScriptom plne kompatibilné, isté obmädzenia existujú zo strany prehliadačov viď tabuľky:
Existujú tri spôsoby zápisu skriptu do HTML dokumentu:
<script>
- normálne do prúdu dokumentu
<script>
s odkazom na externý súbor
medzi tagy :
<script>
</script>
. Toto je asi najpoužívanejší spôsob zápisu skriptu. Skript môže do stránky v takomto podaní vložený kdekoľvek.
Je to to isté ako keby ste zapísali kód skriptu medzi skrip tagy, ale ten kód je uložený v externom súbore. Na súbor následne môžme odkázať nasledovne :
<script src=
"externy_javaskript.js" type=
"text/javascript" ></script>
Takýto zápis má mnoho výhod, hlavne kvôli tomu, že ak používate rovnaké skripty na viacerých stránkach a potrebujete ich upraviť nemusíte upravovať skripty vo všetkých stránkach - stačí upraviť skript v súbore.
Alebo riadkový zapis nevyužíva tag <script>
ale zapisuje sa ako atribút tagu. Príklad:
<a href=
"www.linuxsoft.cz"onmouseover=
"alert('Už ste na www.linuxsoft.cz')">www.linuxsoft.cz</a>
Výsledok:
|
Takýto spôsob zápisu využíva k svojmu fungovaniu udalosti (o tých si povieme viac v ďaších dieloch). Skript konkrétne využíva udalosť "onmousover" čo znamená po prejdení myši. Čiže keď cez odkaz prejde kurzor vykoná sa skript uvedený ako parameter udalosti. In-Line zápisy sa používajú len na volanie funkcií pretože príliš dlhé In-Line zápisy by vyvolávali zmätok.
Ešte existuje jeden spôsob zápisu skriptu - nepoužíva udalosti - zapisuje sa ako URL adresa nasledovne:
<a href="javascript:alert('Alert')">Alert!</a>
Výsledok:
|
Skript v takomto podaní zapísaný do cieľu odkazu začína "javascript:"
a pokračuje kódom. Tento spôsob sa neodporúča používať
Všetky 4 spôsoby je možné navzájom kombinovať veľmi efektívne napr.: cez externý súbor sa načítajú funkcie, klasickým zápisom inicializujú premenné a In-Line volaniami voláme podľa aktivity používateľa rôzne funkcie.
To by bolo pre túto časť asi tak všetko. V ďalšej časti sa začneme venovať syntaxi jazyka.