Kaskádové styly JavaScript Ukázky © Jiří Kosek
Dynamické HTML
Některé ukázky Javascriptu v tomto článku používají zastaralé a nestandardní vlastnosti rozhraní DOM a jsou funkční pouze v Internet Exploreru. Místo nich byste měli vždy používat pouze standardní metody – viz http://www.w3.org/TR/REC-DOM-Level-1/level-one-html.html.

Úvod

Dynamické HTML. Tak tu máme zase jeden pojem, který se celý minulý rok skloňoval ve všech pádech. Zní to celkem pěkně -- skoro bych řekl až dynamicky. Většina lidí si taky pod pojmem dynamické HTML vybaví nějakou webovskou stránku, která se hýbe o něco více než je v této společnosti obvyklé.

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


© Copyright 1998 Jiří Kosek, All Rights Reserved.
Stránka obsahuje plný text článku otištěného v týdeníku Computerworld dne 30. ledna 1998 (CW5/98).
Stránku připravil Jiří Kosek, jirka@kosek.cz
Poslední modifikace: 24-01-98