15. března 2004
.:Přidat k oblíbeným
.:Napsat e-mail





Lekce
Příklady

Už tedy víte, že skripty se vkládají do hlavičky dokumentu <head> a ohraničeny jsou tagy <script> a </script>. Existuje více možností, kam vložit skript, ale o tom až za chvíli. Do tagu <script> je nutné zadat ještě atribut type, jak je zřejmé i v příkladu z první lekce. Tímto atributem zařídíte, aby se korektně zpracovaly informace zapsané ve skriptu. Říkáte, že budete psát čistý text a jaký jazyk chcete používat. V zásadě jsou tu dvě základní možnosti: JavaScript a VbScript. Popisy obou těchto jazyků najdete na našich stránkách. Nutno podotknout, že VbScript, coby produkt Microsoftu, funguje pouze v Exploreru, kdežto JavaScript je podporován jak Explorerem nebo Netscapem, tak i spoustou dalších prohlížečů (bohužel ne každý prohlížeč podporuje všechny přákazy, takže udělat dobré stránky, aby se zobrazovaly všude správně, je někdy téměř nadlidský úkol). V kapitolách DHTML se budu odkazovat spíše na JavaScript, ale to, co řeknu o JavaScriptu, platí většinou i pro VbScript.

Vkládání skriptů

Jestli dobře počítám, máte asi tři možnosti, jak voperovat svůj/cizí skript do vaší/cizí stránky:

Nejjednodušší způsob

Tím je vkládání příkazů přímo do nějakého tagu - jak už jsme viděli v lekci 2 (říká se tomu vložené obslužné skripty). Stačí napsat událost, na níž má příkaz reagovat, jako vlastnost jednoho z elementů (viz. lekce 2) a po nezbytném rovná se (=) do uvozovek vyťukat příkaz, který se má provést.

<a onClick="alert('HA!')">vložený obslužný skript</a>

vložený obslužný skript

Je samozřejmě možné vložit i více příkazů, ty se potom oddělují středníky (;), ale opět to nedoporučuji - hlavně kvůli přehlednosti.
Vypadá to jako procházka růžovým sadem, jenže to by nebyl Bill Brána a jeho firma Malý-měkký, aby sem nevpašoval něco, co není tak úplně tip-ťop. Zkrátka, smí se používat jen JavaScript, pro fandy Vbscriptu je tato možnost zapovězená, a tak se musí uchýlit k jednomu z dalších mrzkých způsobů vložení příkazů:

I pro milovníky Vbscriptu

Další alternativa se zpočátku podobá té první. Opět zapíšete nějakou událost přímo do tagu jako vlastnost, ale tentokrát do uvozovek za rovná se prsknete místo příkazu název Funkce nebo u VBscriptu procedury. Á! Pro někoho možná nový pojem. Pro nezasvěcené, nemající ani ponětí, co to funkce v programování je, mohu doporučit třeba... Naše lekce JavaScriptu nebo Vbscriptu - tam to všechno je. Teď, když máme jasno, můžeme pokračovat. Zapsat jen název nějaké neexistující funkce nestačí. Musíte ji někde definovat, nejlépe v hlavičce. Uvedete tagy <script> a </script>. Pokračujete tak, jak to bylo popsáno už v lekci 1.

Do třetice

Zvláštním případem jsou odkazy. U těch je možné vložit místo události onClick vlastnost href a za ni vypsat buď nějaký příkaz, nebo název funkce:

<a href="javascript:alert('Na odkazy se nekliká!!')">Odkaz</a>

Odkaz

Je nutné uvést vždy spojení javascript:, jinak bude mít odkaz tendenci odskočit na neexistující stránku - s adresou alert(...

Tohle platilo dříve, ale poslední dobou se většina sofistikovaných tvůrců stránek přiklání k možnosti nevkládat jako hodnotu vlastnosti href javascript:... Je to opět, jak jinak než, kvůli prohlížečům, které z jakéhokoliv důvodu nepodporují JavaScript. Těm by mohl odkaz na adresu javascript: působit jisté problémy (žádnou takovou doménu neznám). Z těchto důvodů se poslední dobou u odkazů využívá také spíše vlastností onClick a onKeyPress, přičemž vlastnosti href přiřadíte nějakou smysluplnou adresu (většinou adresu aktuální stránky) - právě pro ty bojkotující prohlížeče. Potom vše vypadá asi takhle:

<a href="tato_stranka.htm" onClick="alert('Tento odkaz funguje stejně!!'); return false;" onKeyPress="alert ('Tento odkaz funguje stejně!!'); return false;">Další odkaz</a>

Už je tady zase závěr

Rýpalové by mohli namítnout, že jsem vynechal ještě jeden způsob vložení skriptu do stránky, a tím je obsloužit událost přímo ve skriptu, ne až v cílovém tagu. Popravdě se tato možnost téměř nevyužívá, protože je hnusná a ke všemu ji podporuje jen Internet Explorer. Skriptům zdar a u příští lekce nashle!

Mort




<< Předchozí lekce


Další lekce >>
_
^
Back to top

Valid XHTML 1.0!   Valid CSS!
TOPlist