Doba však již pokročila a v roce 1998 se neznalost dynamického HTML může stát společensky nepřijatelnou. (Pokud ovšem společnost definujeme jako skupinu webovských vývojařů, kteří mají blízko k firmě Microsoft.) Proto jsme pro vás připravili téma týdne věnované právě dynamickému HTML. Klademe si poměrně ambiciózní cíle. Jednak se pokusíme vymezit samotný pojem dynamické HTML -- pojem sice často používaný, ale pro mnohá možná mlhavý. Co je však důležitější, po přečtení tématu týdne budete schopni vytvářet vlastní stránky v dynamickém HTML. A aby toho nebylo málo nastíníme směry, kterými se dynamické HTML bude ubírat v budoucnu. Nevynecháme ani porovnání možností dynamického HTML s Javou. Od té doby, co má Microsoft kvůli implementaci Javy problémy se Sunem, médii prosakují poněkud smyslupostrádající zprávy o to, že Microsoft se na Javu může vykašlat, protože dynamické HTML nabízí stejnou funkčnost.
Podívejme se tedy dynamickému HTML na zoubek. Především musíme říci, že dynamické HTML nepřidává do samotného jazyka HTML žádné nové elementy nebo atributy. Dynamické HTML pouze definuje způsob jakým mohou skripty zařazené do stránky měnit její obsah -- přidávat a ubírat elementy, měnit jejich obsah a pohrávat si s hodnotami atributů. Veškeré změny jsou prohlížečem okamžitě zjištěny a zobrazení stránky se přizpůsobí aktuálnímu stavu.
Touto technikou lze dosáhnout právě oněch na první pohled dynamicky vypadajících změn stránky. Ještě výraznější dopad na vzhled má měnění stylů. Víme, že pomocí kaskádových stylů (CSS) můžeme velice efektivně ovládat atributy zobrazení jednotlivých elementů. V dynamickém HTML můžeme samozřejmě pomocí skriptů měnit i styly a tím dosáhnout mnoha zajímavých efektů.
Pokud tedy chceme vytvářet stránky v dynamickém HTML stačí, když umíme používat jazyk HTML společně se styly a ovládáme některý ze skriptovacích jazyků. Jazyk HTML dnes zná již "kde kdo" (promiňte), takže se v našem článku zaměříme hlavně na skripty a styly. Seznámíme se s používaním skriptovéha jazyka JavaScript, který je dnes nejrozšířenější. Navíc již dnes existuje i jeho verze evropsky přijatá jako standard -- tzv. ECMAScript. Styly se nebudeme zabývat až tak podrobně -- nedávno jsme je probrali v seriálu věnujícím se tvorbě stránek. Zopakujeme pouze nejdůležitější fakta a seznámíme se s rozšířeními, která byla do stylů přidána právě kvůli dynamickému HTML.
Doufáme, že jako užitečný shledáte přehled všech vlastností, které lze pomocí stylů řídit. Na závěr si pak necháme několik praktických ukázek dynamické HTML, kterými se můžete nechat inspirovat.
Než se pustíme do samotného výkladu, musíme se seznámit s jedním zajímavým faktem. Dynamické HTML zatím není nijak standardizováno -- např. jako jazyk HTML nebo protokol HTTP. Konsorcium W3C již vytvořilo pracovní návrh tzv. DOM (Document Object Model) -- objektového modelu dokumentu. Tento dokument popisuje způsob, jakým jsou přístupné jednotlivé elementy a atributy HTML dokumentu. Implementace DOM v skriptovacím jazyku je tedy nutnou podmínkou pro používání dynamického HTML.
Microsoft však nečekal, až bude DOM schválen a implementoval dynamické HTML již asi před rokem. Naštěstí Microsoft spolupracoval při vytváření DOM a tak dynamické HTML v podání Microsoftu z velké části požadavky definované v DOM splňuje. Z toho také vyplývá, že dynamické HTML zatím podporuje pouze prohlížeč Internet Explorer 4.0. Netscape měl vlastní představu dynamického HTML, ta však nebyla tak techologicky vyspělá jako ta od Microsoftu. Netscapu nezbyde asi nic jiného, než v budoucnu podporovat dynamické HTML á la Microsoft.
Microsoft pod dynamické HTML nezařazuje jen koktejl šikovně namíchaný z HTML, skriptů a stylů. V jeho pojetí se pod dynamickým HTML skrývají i různé technologie založené na ActiveX. Těmi se však nebudeme příliš zabývat, protože ActiveX je technologie závislá na platformě Wintel a je tedy v rozporu se základní myšlenkou Webu -- nezávislostí na platformě.
Zaměříme se proto pouze na perspektivní části dynamického HTML, které nejsou závislé na platformě.
Kaskádové styly | JavaScript | Ukázky | Přehled vlastností stylů | DHTML vs. Java