KaskßdovΘ styly JavaScript Ukßzky © Ji°φ Kosek
DynamickΘ 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, xkosj06@vse.cz
Poslednφ modifikace: 24-01-98