ZaΦlen∞nφ skriptu do strßnky

T°i zp∙soby

  1. Pomocφ tagu <script> normßln∞ do proudu dokumentu. 

  2. Tagem <script> s odkazem na externφ soubor

  3. In-line (°ßdkov²) zßpis jako atribut tagu bez pou╛itφ tagu <script>  

Pro zaΦßtek nemusφte um∞t v╣echny zp∙soby, staΦφ ten prvnφ. Chcete-li se nauΦit skriptovat rychle, tuto strßnku p°eskoΦte a pozd∞ji se k nφ vra╗te. 

Normßln∞ do HTML k≤du

Skript se vlo╛φ mezi znaΦky <script> a </script>. Tento zp∙sob je asi nejΦast∞j╣φ a byl pou╛it i na strßnce prvnφch p°φklad∙ tohoto kurzu. P°φklad normßlnφho zaΦlen∞nφ skriptu, kter² zobrazφ povzbuzujφcφ okΘnko:

<script>
alert('Hlavu vzh∙ru, bude h∙°!');
</script>

Skript se m∙╛e objevit kdekoliv v HTML k≤du -- jak v hlaviΦce, tak v t∞le dokumentu. Prohlφ╛eΦ pak skript zpracovßvß okam╛it∞, jakmile na n∞j narazφ.

Externφm souborem

Program v JavaScriptu se dß ulo╛it i do jinΘho souboru a potom ho do strßnky naΦφtat. P°φklad: Do souboru externi_skript.js ulo╛φm toto:

document.write("Toto napsal externφ Java Script");

Do strßnky, do kterΘ pak chci skript vlo╛it, vlo╛φm tento kus HTML k≤du:

<script src="externi_skript.js"></script>

Stane se to samΘ, jako bych ten skript vypsal mezi tagy <script>. Zobrazte si p°φklad pou╛itφ externφho skriptu. 

Obliba skript∙ v externφch souborech je velmi ╣irokß. NejΦast∞ji se to pou╛φvß k naΦφtßnφ stejnΘho skriptu do r∙zn²ch strßnek, co╛ je netu╣enß zbra≥. 

In-line zßpis

In-line znamenß "v °ßdku" a je to t°etφ zp∙sob zaΦlen∞nφ JavaScriptu do HTML strßnek. Nevyu╛φvß tag <script>, ale zapisuje se jako atribut jinΘho tagu. V∞t╣inou reaguje na n∞jakou u╛ivatelovu udßlost. Rad∞ji ukß╛u p°φklad:

<a href="http://www.meuslany.cz" onmouseover="alert('Na ·°ad∞ je my╣!!!')">M∞stsk² ·°ad Slan²</a>

P°φklad ukazuje normßlnφ odkaz (tag <a>) s textem M∞stsk² ·°ad Slan². D∙le╛it² je tam ten atribut onmouseover, co╛ znamenß "p°i p°ejetφ my╣φ". No a p°i p°ejetφ my╣φ se spou╣tφ ten skript, co je zapsßn jako hodnota atributu.

V╣imn∞te si, ╛e v in-line zßpisu je nutno pou╛φvat apostrofy mφsto uvozovek (proto╛e uvozovky by zakonΦily zßpis skriptu).

A takhle to vypadß, zkuste si p°ejet my╣φ: M∞stsk² ·°ad Slan²

Onmouseover je jednou z udßlostφ, kter²ch existuje asi tucet. Bez existence udßlostφ by in-line zßpis skriptu nedßval smysl.

href="javascript:..."

Jin² in-line zp∙sob nepou╛φvß udßlosti, ale odkaz∙. Mφsto adresy cφle (URL) ale zaΦφnß textem "javascript: a nßsleduje program". 

Nap°. 
<a href="javascript: alert('Toto nenφ odkaz')">Skript</a>

Namφsto p°echodu na jinou adresu se prost∞ provede skript. Ukßzka: Skript

Tento zp∙sob zaΦlen∞nφ scriptu se moc nedoporuΦuje.

Kombinace zp∙sob∙

V╣echny zp∙soby zaΦlen∞nφ skript∙ do strßnky jsou sice rovnocennΘ, ale v r∙zn²ch p°φpadech r∙zn∞ v²hodnΘ. V naprostΘ v∞t╣in∞ slo╛it∞j╣φch skript∙ se tedy zp∙soby  kombinujφ, proto╛e je to efektivnφ.

Sami jist∞ chßpete, ╛e nap°φklad zapisovat p°φli╣ dlouh² in-line skript vede k chybßm a zmatku, tak╛e se in-line zapisuje v∞t╣inou jenom volßnφ funkcφ, kterΘ jsou definovanΘ d°φve.

NejΦast∞j╣φ zp∙sob kombinace: