Tato stránka obsahuje přehled témat, která na stránkách Jak psát web pomíjím
Validace - Flash - XHTML - Dynamické rozbalovaí menu
Občas mi někdo píše s tím, že v mých stránkách našel chyby, když jako neprošly validátorem. Hm.
Validátory jsou programy, které zkontrolují dokument a zjistí, jestli je validní (správný) vůči nějakému jazyku (DTD). Když tak vypíše chyby.
Já validátory nepoužívám, protože to, co považují validátory za podstatné, na to dlabou prohlížeče. A naopak: co je na stránce potřeba pro její vzhled a funkci, se nelíbí validátorům. Nezajímá mě procedura, která mi řekne, že podle nějaké teoretické definice je něco špatně. Aby moje stránky nebyly invalidní, nepíšu jim žádnou deklaraci DOCTYPE.
Více informací o doctype v archivu Sovy v síti.
Nejlepší a jediný opravdový validátor jsou čtenáři a jejich prohlížeče.
Flash je technologie umožňující vkládat na stránku animace a aktivní prvky.
Flash samotný se tvoří v programu Macromedia Flash. Má zdroják (*.fla) a zkompilovanou binárku *.swf Autoři dávají ven jenom swf, soubor fla si nechávají.
Do stránky se to vkládá pomocí tagů <object> nebo <embed>. Návody na vložení dosahují extrémní složitosti, protože nikoho nenapadlo to zjednodušit. Ale perfektně funguje takovýto zápis:
<embed src="soubor.swf" height="300" width="300"></embed>
Kam to bude klikat, je zapracované přímo v té animaci. Složitěji se totéž dá zapsat takto:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="300" height="300">
<param name=movie value="soubor.swf">
<param name=quality value="high">
<param name=bgcolor value="#ffffff"><!-- bílá barva pozadi -->
<embed src="soubor.swf" quality=high bgcolor=#ffffff width="300"
height="300" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object>
Použití objektu způsobí, že si prohlížeč zkusí stáhnout požadovanou verzi flashe (v tomto případě verzi 6). Když prohlížeč nepodporuje object, použije ten vnitřní <embed>. To je případ Mozilly.
O flashi víc nepíšu, protože je to velmi široké téma a já nemám čas hrát si s grafikou. Ale je to super technologie, dost nadějná na hry. Nehodí se na dělání stránek. Něco málo víc o flashi píšu u reklam.
Velký humbuk. Jazyk, který je přísnější než klasické HTML, ale autorům stránek v prohlížečích nedovoluje nic navíc. Když píšete v XHTML:
Získáváte pouze pocit, že jste "pokrokoví". Tomuto dojmu podlehli rejpalové, kterým říkám X-šovinisté. Dokáží zkritizovat každou blbost, která není podle XHTML, přitom je vůbec nezajímá, že mě nezajímá nějaké XHTML.
Skutečné uplatnění XHTML se najde (IMHO pouze) v systémech, které pracují s XSLT transformacemi.
Oproti klasickému HTML
Stejně jako v html 4 pro XHTML platí:
Poslední dobou získávám pocit, že XML je sice krásná datová struktura, ale pro tvorbu "běžných stránek" se jaksi nehodí. Všechno tam má nějaké ALE. Asi nejlepší je přímé linkování CSS stylů do XML. Hodně základů je uvedeno a www.kosek.cz a dokud to nebudu umět lépe než Jirka (a to asi nebude nikdy), netroufám si o tom psát.
Hlavní problémy stavby běžných (textově bohatých) stránek pomocí XML jsou dva:
Nejčastěji se pro tvorbu stránek z XML používá XSLT transformace. XML se snaží o předání kompletní strukturované informace v dokumentech a XSLT ty informace transformuje do jiných dokumentů. Vždy jedna ku jedné -- jeden výstupní dokument odpovídá jednomu vstupnímu. To je sice krásná vlastnost, ale tvůrci stránek řeší obvykle něco úplně jiného než problém jedna ku jedné. Řeší to, jak z více (fragmentálních) souborů seskládat jednu stránku, případně více stránek (problém n ku n). Obvykle se to řeší PéHáPkem na straně serveru. Pokud bych chtěl to samé dělat v XML, tak bych musel hodně prasit.
XML má význam spíše jako výměnný formát mezi programy, psát to ručně je otrava.
Neumím naprogramovat takové, které by bylo spolehlivé. Dělá se to v javascriptu. Doporučuju to někde ukrást, koneckonců je to v javascriptu, takže kódy jsou otevřené. Osobně to nepoužívám zejména z toho důvodu, že do stránky načítají spoustu dat, která nakonec stejně většinou nejsou vidět. Ale to je subjektivní názor, který se dá zlehčit.
Odkaz na příklad: nejlepší dynamické menu od Martina Snížka doporučuji okopírovat.
o tvorbě, údržbě a zlepšování internetových stránek