Tag | Význam | Párový | Výskyt |
---|---|---|---|
script | skript, program | ano | kdekoliv |
noscript | alternativa ke skriptu | ano | vně skriptu |
style | zápis CSS stylu | ano | <head> |
Zde se zaobírám pouze začleněním skriptů a stylů do HTML, nikoli jimi samotnými. Kurz CSS už jsem napsal, výklad JavaScriptu ještě není hotový.
Párový tag obsahující zápis skriptu. Skript není zapsán v HTML, ale v jiném jazyce, většinou je to JavaScript.
Tag <script> může být kdekoli v dokumentu, v hlavičce i v těle. Instrukce programu se začnou okamžitě provádět (někdy bez viditelného efektu, např. při deklaraci funkcí), jakmile je prohlížeč načte.
Atribut | Význam | Hodnoty | Doporučení |
---|---|---|---|
type | mime-typ obsahu skriptu | text/javascript | používat vždy, ale funguje to i bez toho |
language | jazyk skriptu | Javascript | Jscript | VbsScript | a další | nepoužívat, zastaralé |
src | cesta k externímu skriptu | URL, nejčastěji na soubor *.js | |
defer | odložení běhu skriptu používaný u skriptů, které obsahují pouze deklarace funkcí a nejsou v daný čas bezprostředně potřeba, čímž se urychlí načítání | bez hodnoty | nejistá funkčnost (popis) |
event | vazba skriptu na událost (některé prohlížeče to nepodporují) | jméno události dokumentu (např. "document.body.onload") | funguje pouze v IE a není to standardní |
charset | kódování externího skriptu | iso-8859-2 | windows-1250 | UTF-8 | funguje pouze v IE 6 a v Mozille, Opera a IE 5 nechápou |
Skripty mohou být do dokumentu vloženy třemi způsoby:
V praxi se používají kombinace těchto tří zápisů. Např. v externím skriptu jsou použité knihovny funkcí, přímým zápisem se inicializují proměnné a in-line stylem se spouští funkce jako reakce na práci uživatele.
Příklad zápisu skriptu do tagu <script>:
<script type="text/javascript"><!--
document.write("Ahoj světe!");
//--></script>
Příklad volání externího souboru:
<script language="Vbscript" src="iloveyou.vbs"></script>
Příklad in-line skriptu volaného událostí onmouseover:
<a href="tajna.html" onmouseover="alert('Neklikej na ten
odkaz!')">Tajemství</a>
Teoreticky ještě mohou existovat prohlížeče a klienti, které by mohly zápis skriptu chápat jako část textu (v praxi už vyhynuly, ale to nevadí). Proto se skript obaluje ještě navíc html poznámkou <!-- -->, aby se kód skriptu nezobrazoval. Novější prohlížeče vědí, že mají toto zapoznámkování ignorovat.
Osobně doporučuji skripty vůbec do poznámek neuzavírat, nikdy jsem nepozoroval, že by to poznámkování bylo potřeba.
Alternativa ke skriptům. Internet Explorer, který skripty provádí, obsah elementu <noscript> ignoruje, i když má skripty zrovna vypnuté. Mozilla tag <noscript> provede, když se v ní vypne JavaScript přes Preferences-Advanced. Starší prohlížeče bez podpory skriptů (plus vyhledávače) berou obsah tagu <noscript> jako běžný text. Tag nemá žádné atributy.
Pozor, jde o tag párový, vynechání koncové značky způsobuje fatální problémy.
Tag <noscript> se umisťuje mimo tag <script>, funguje dokonce, i když ve stránce žádný skript není.
Příklad zápisu skriptu a noscript:
<script>
// ... zápis skriptu
</script>
<noscript>
libovolný html obsah
</noscript>
Zápis stylu dokumentu. Párový tag obsahující zápis stylu. Styl je zapsán v jazyce CSS (Cascading Style Sheets), který není součástí HTML (ačkoli na HTML úzce navazuje).
Tag <style> by měl být součástí hlavičky, ale podle mých zkušeností jej prohlížeče akceptují i jako součást těla.
Atribut | Význam | Hodnoty |
---|---|---|
type | jazyk stylu | text/css | jiné nejsou podporovány |
media | výstupní zařízení, na které se styl vztahuje | all | print | screen | a další |
disabled | vypnutí funkce stylu (z důvodů skriptování) | bez hodnoty |
Styly dokumentu mohou být zapsány trojím způsobem:
V praxi se mohou jednotlivé možnosti kombinovat.
Příklad zápisu stylu použitím tagu <style>:
<style type="text/css"><!--
a {text-decoration: none} /* Odkazy nebudou podtrhávané */
u {font-weight: bold; color: blue}/* Co je podtržené, bude navíc tučné a
modré */
--> </style>
Příklad zápisu stylu použitím tagu
<link>:
<link rel="stylesheet" href="styly.css" type="text/css">
Příklad in-line stylu:
<p style="color: red">Červený odstavec</p>
Jak psát web píše Yuhů, Dušan Janovský. Kontakt.