FAQ
Φasto kladenΘ otßzky
FAQ znamenß frequently asked question nebo tak n∞co. Prost∞ Φasto kladenΘ
dotazy. Pokud dostanu n∞jak² dotaz alespo≥ dvakrßt, tak ho sem umφstφm i s
odpov∞dφ, abych na to nemusel odpovφdat pot°etφ.
HTML obecn∞ - Odkazy
- Tabulky - Rßmy -
Pozadφ - CSS -
Aktivnφ prvky - Skripty
HTML obecn∞
- Jak je to s uvozovkami v HTML zßpisu? nap°: <td width="50"> pat°φ tam ty
uvozovky nebo ne?
- Podle specifikace 3.2 tam uvozovky byt nemusφ, pokud hodnota atributu
neobsahuje mezeru nebo jinΘ divokΘ znaky. Ale kdo vφ, jak funguji v╣echny
prohlφ╛eΦe. Ve specifikaci XML a XHTML tam uvozovky musejφ b²t v╣ude. Kdy╛
se dajφ v╣ude, tak se nic nezkazφ.
- Ako mam spravit, aby pri zmene rozlisenia obrazovky bola www stranka
stale v strede?
- Nejjednodu╣╣φ zp∙sob je uzav°φt celou strßnku do tabulky s vycentrovßnφm
<table align=center>, ale to mß spoustu jin²ch
nev²hod.
Jin² zp∙sob je pou╛φt dvou zano°en²ch oddφl∙. P°φklad jedinΘho spolehlivΘho
zßpisu:
<div style="align: center"
align="center"><div align="left" style="width: 700px; align:
left">Obsah strßnky</div></div>
Seznam a Centrum u╛φvajφ tohoto spolehlivΘho zßpisu
<center><table width="760"><tr><td>Obsah
strßnky</table></center>
Vφce o centrovßnφ
(Sova v sφti)
- Jak zm∞nit velikost pφsma?
- Star╣φ zp∙sob je uzav°φt text do tagu <font> a jeho atributem size m∞nit
velikost:
<font size="4">text</font>
vypadß takto: text
Je 7 stup≥∙ pφsma, 1 je mr≥avΘ, 3 b∞╛nß velikost a 7 nejv∞t╣φ.
Nov∞j╣φ zp∙sob zv∞t╣ovßnφ pφsma vychßzφ z pou╛itφ kaskßdov²ch styl∙ CSS,
nap°. se do hlaviΦky strßnky vlo╛φ stylopis
<style>
body {font-size: 13px}
td {font-size: 12px}
h1 {font-size: 18px}
</style>
Tento zßpis nap°φklad ud∞lß pφsmo v celΘ strßnce (body) velikΘ 13 pixel∙,
pφsmo v tabulce 12px a nadpisy h1 velikostφ 18px. Jsou i jinß pou╛itφ
kaskßdov²ch styl∙ (CSS).
- Jak ud∞lat, aby se pφsmo nedalo zv∞t╣it v prohlφ╛eΦi?
- Kdy╛ se nastavφ velikost v pixelech (px) nebo typografick²ch bodech (pt),
nep∙jde v Internet Exploreru zv∞t╣it. Pokud se velikost nenastavφ nebo se
pou╛ijφ stupn∞ v tagu <font> (nebo hodnotami small, large apod. v css),
pφsmo p∙jde zv∞t╣ovat. V Mozille nejde ud∞lat fixn∞ velkΘ pφsmo.
Text, u kterΘho chcete, aby ho u╛ivatelΘ b∞╛n∞ Φetli, nechte velikost
zv∞t╣ovacφ. Nem∞lo by se d∞lat p°φli╣ malΘ pφsmo, jak je dnes Φasto k
vid∞nφ.
Odkazy
- Jak ud∞lat ╛lutou bublinu u odkazu?
<a href="n∞kam" title="Popisek odkazu
v bublin∞">Text odkazu</a>
- Jak odkaz otev°φt do novΘho okna?
<a href="n∞kam" target="_blank">Text
odkazu</a>
Vφce informacφ: NovΘ okno otev°enΘ odkazem
- Jak odkazy otevφrat do stßle jednoho novΘho
okna?
<a href="n∞kam" target="libovolne_jmeno">Text
odkazu</a>,
ale pozor, to okno, kam se to otev°elo, m∙╛e z∙stßvat na pozadφ,
tak╛e si toho Φtenß° nev╣imne.
- Jak otev°φt odkaz do okna bez nabφdky,
stavovΘho °ßdku, adresy a li╣t?
- Je pot°eba pou╛φt javascript:
<a href="n∞kam.html" onclick="open('n∞kam.html', 'jmenookna',
''); return false">Text odkazu</a>
mß to vφc nastavenφ, kterΘ rozebφrßm u metody
window.open
- Jak odkazem strßnku jenom odrolovat na urΦitΘ
mφsto (nechodit na jinou strßnku)?
- Odkaz se namφ°φ na zßlo╛ku. Ta se nejprve musφ vlo╛it do strßnky na to
sprßvnΘ mφsto.
<a name="zalozka"></a>
a pak se na ni m∙╛e odkazovat pomocφ k°φ╛ku:
<a href="#zalozka">Odkaz jinam na tutΘ╛
strßnku</a>
Vφce v textu o zßlo╛kßch.
- Jak za°φdφm, aby odkaz vypadal jako tlaΦφtko?
- Je vφce mo╛nostφ, asi nejlep╣φ je vyu╛φt CSS
styly. Podφvejte se na p°φklad textovΘho
odkazu jako tlaΦφtko a zobrazte si
zdroj.
- Rada by som vedela, ako mozem napisat hypertextovy odkaz tak, aby mi
text nepodciarklo.
- Je pot°eba do hlaviΦky strßnky vlo╛it stylopis:
<style>
a:link, a:visited {text-decoration: none}
</style>
Kdy╛ tam dßte jenom a a nikoliv to a:link, a:visited, tak to nebude
fungovat v IE4.
- Jak ud∞lat odkaz, kter² m∞nφ barvu p°i p°ejφ╛d∞nφ
my╣φ, t°eba na modrou?
- Je pot°eba do hlaviΦky strßnky vlo╛it stylopis:
<style>
a:hover {color: blue}
</style>
- Pot°ebuju, aby kdy╛ namφ°φm odkaz na dokument Wordu *.doc, aby se
neotevφral, ale stßhnul. Jak to ud∞lat?
- Vlastn∞ to nejde za°φdit. Jestli se budou soubory (ne HTML) otevφrat
nebo uklßdat, zßvisφ na nastavenφ poΦφtaΦe u klienta. Nevφm ani p°esn∞ kde
se to nastavuje. Mß to n∞co spoleΦnΘho s takov²m dialogem, kdy se prohlφ╛eΦ
ptß, jestli chci otev°φt soubor rovnou nebo ulo╛it na disk. Pod tφm je volba
"p°φ╣t∞ se ji╛ neptat".
N∞komu se to prost∞ otevφrß a n∞komu ne. Tak╛e doporuΦuji zabalit ten doc do
zipu, proto╛e zip mß v∞t╣ina lidφ nastaven² na stahovßnφ. Podobn∞ i u
soubor∙ jin²ch typ∙, nap°. pdf.
Jinß mo╛nost je nastavit v mime-types serveru doc jako archive/zip (pokud
m∙╛ete konfigurovat server). Pak se to bude stahovat poka╛dΘ, ale je to dost
prasßrna.
Jinou mo╛nost poradil Jakub Vrßna: pou╛φt HTTP hlaviΦku "Content-Disposition",
kterß lze poslat nap°. v PHP nebo mo╛nß jde nastavit i na serveru. Nap°.
Content-Disposition: attachment; filename="fname.ext"
- jak otev°φt program z odkazu, ani╛ by se zobrazilo okno, zda chci
program otev°φt, nebo ulo╛it. P°φklad : <a href="program.exe" target="_blank">spus╗</a>
- To na╣t∞stφ nejde ud∞lat. Je to bezpeΦnostnφ opat°enφ Internet
Exploreru. Dovedete si p°edstavit, ╛e by se z webu automaticky spou╣t∞ly
programy? Katastrofa. U╛ivatel si m∙╛e v nastavenφ toto zabezpeΦenφ vypnout,
jmenuje se to SoftwarovΘ oprßvn∞nφ kanßlu.
Tabulky
- Jak dosßhnout toho, abych hodnoty ze dvou sloupc∙ v tabulce (na jednom
°ßdku) mohl pou╛φt k matematickΘmu v²poΦtu a v²sledek abych dostal v dal╣φm
sloupci (na stejnΘm °ßdku)?
- Odpov∞∩ je jednoduchß: NEJDE TO. Jazyk HTML je pouze zobrazovacφ. Ten
problΘm je pot°eba n∞jak obejφt. (Uva╛uje se o pou╛itφ atribut∙ axis a axes,
ty ale zatφm v prohlφ╛eΦφch nefungujφ.)
- Jak ud∞lat, aby m∞la tabulka tenkou jednopixelovou
m°φ╛ku? Po°ßd mi to d∞lß 2 pixely.
- Dß se to ud∞lat pomocφ CSS styl∙ aplikovan²ch na bu≥ku td, ale
jednodu╣╣φ je pou╛φt css2 vlastnost border-collapse na tabulku:
<table border="1" style="border-collapse:
collapse">
funguje to sice jenom v nov∞j╣φch Explorerech a Mozillßch, ale ty u╛
p°eva╛ujφ.
- Pot°ebuju zm∞nit pφsmo v celΘ tabulce a nechce se mi to psßt po bu≥kßch.
Jde to n∞jak najednou?
- StaΦφ nastavit CSS styl, nap°. takto:
<style>
td {font-family: Arial; font-size: 13px}
<style>
pokud by se to m∞lo t²kat jenom jednΘ z vφce tabulek na strßnce, pou╛ijφ se
t°φdy.
Rßmy
- Jak po kliknutφ na odkaz otev°φt dv∞ strßnky ka╛dou v jinΘm rßmu.
- Dva zp∙soby.
1. Jednodu╣╣φ je, kdy╛ si dß╣ ty dva frejmy vedle sebe a ud∞lß╣ strßnku,
kterß je spoji. Potom bude╣ naΦφtat tu strßnku na mφsto, kde majφ b²t ty
dva.
- 2. Elegantn∞j╣φ a t∞╛╣φ je tohle:
<a href="stranka1" target="ram1" onclick="parent.ram2.location.href
= 'stranka2.htm'">
N∞kdy je tam pot°eba napsat parent.parent vφcekrßt za sebou.
- Ud∞lal jsem si rßmy, ale naskytl se problΘm: Kdy╛ tam nap°φklad mßm
odkaz na Seznam a kliknu na n∞j, objevφ se sice strßnka Seznamu, ale m∙j
lev² rßm (obsah) tam z∙stane. Co mßm tedy ud∞lat pro to, aby se tam ten rßm
nezobrazil?
- Do odkazu <a href="http://seznam.cz> p°idejte target=_top, tak╛e to bude
vypadat takhle:
<a href="http://seznam.cz target="_top">Seznam</a>
- Target="_top" zp∙sobφ, ╛e se odkaz p°epne do celΘho okna. Zkuste takΘ
experimentovat s hodnotami _blank a _parent.
Pozadφ
Dal╣φ odpov∞di hledejte na strßnce V╣e o pozadφ strßnky
a objekt∙ v HTML a CSS
- Jak nastavit pozadφ v rßmcφch, tak aby kopφrovalo skuteΦnou velikost
rßmce? Pokud si vytvo°φm vlastnφ pozadφ (v Corelu 8) a zadßm cestu v
nastavenφ rßmce, zobrazφ se mi p°es celou obrazovku n∞kolikrßt vedle sebe a
pod sebou. Existuje n∞jak² p°φkaz, kter² by pozadφ p°izp∙sobil velikosti
rßmce?
- Velikost pozadφ nelze p°izp∙sobit velikosti rßmu. To╗ smutnß praxe.
Pozadφ musφ b²t v╛dy soubor gif nebo jpeg. Pokud Corel vyexportuje html, tak
to je na nic. Proto╛e jsou gif i jpeg bitmapovΘ formßty, tak je nejde
roztahovat bez ztrßty kvality, jak by to bylo mo╛no s corelovsk²mi
vektorov²mi formßty.
Existujφ ale urΦitΘ zp∙soby, jak pozadφ n∞jak zmanipulovat. Prostudujte si v
p°ehledu CSS - p°ehled vlastnostφ a hodnot
vlastnosti pozadφ, mrkn∞te se na vklßdßnφ pozadφ do tabulek ve
formßtovßnφ tabulek
a na Design pomocφ tabulek.
╚astou praxφ je postup p°esn∞ opaΦn² -- nep°izp∙sobovat pozadφ podle textu,
ale text podle ╣φ°ky pozadφ. Text se vklßdß do rozm∞rovanΘho oddφlu (tag div
v HTML) nebo do p°esn∞ ╣irokΘ tabulky.
Nebo se dß ud∞lat "pseudopozadφ". Obrßzek vlo╛it do strßnky a nastavit mu
styl pozicovßnφm tak, aby p°ekr²val celou
╣φ°ku strßnky, ╣oupnout ho nahoru a nastavit mu z-index na n∞co zßpornΘho.
Osobn∞ doporuΦuji zam∞°it se pro zaΦßtek na d∙le╛it∞j╣φ v∞ci, ne╛ je pozadφ
strßnky. D∙vodem je zejmΘna velk² datov² p°enos a matenφ Φtenß°e. Jß jsem
t°eba po dlouholet²ch zku╣enostech od aplikace pozadφ zcela ustoupil, stejn∞
jako v∞t╣ina webov²ch profesionßl∙ (t°eba╛e se k nim nepoΦφtßm).
- Potrebuji vycentrovat pozadi (background) na stred stranky a to jak
vertikalne tak horizontalne. Aby byla zobrazena jen jedna kopie obrazku,
ktery bude pouzit pro pozadi. Dale bych se chtel zeptat jestli uz ses setkal
se statickym pozadim. Pozadi stoji a text a grafika se hybaji pres stojici
pozadi.
- Umφstit obrßzek na pozadφ jenom jednou a doprost°edka jde jen v
n∞kter²ch prohlφ╛eΦφch. Na╣t∞stφ nejpou╛φvan∞j╣φ prohlφ╛eΦe MSIE 4 a 5 to
dokß╛φ. H∙°e je na tom Netscape 4, ten to nedokß╛e dßt doprost°ed. Jak se to
d∞lß: Pou╛φvajφ se na to CSS, kaskßdovΘ styly. Jde to zapsat dv∞ma zp∙soby,
jß uvedu ten lehΦφ (bez stylopisu), kdy deklaraci uvedu p°φmo v tagu <body>:
<body style=" background: url('cesta/jmenosouboru.gif')
fixed no-repeat center center">
- Bacha na p°eklep. Malß chybka zp∙sobφ nefunkΦnost. Ta ΦßreΦka ' se d∞lß
alt+39. V²znam hodnot lze najφt v p°ehledu CSS,
tam jsou uvedeny i p°φklady. Je dobrΘ v²sledek vyzkou╣et ve vφce
prohlφ╛eΦφch a zhodnotit v²sledek!
- V ΦistΘm HTML bez CSS lze ud∞lat pouze "nerolovacφ" pozadφ deklaracφ
<body backround="cesta/soubor.gif" bgproperties="fixed">
. V CSS
se to d∞lß vlastnostφ background-atachment: fixed. Pozor na p°φli╣ velk²
obrßzek -- jednak se dlouho p°enß╣φ (a dokud se nep°enese, tak se nezobrazφ
v∞t╣inou nic) a jednak zpomaluje klienta (zejmΘna pr∙hlednΘ pozadφ p°i
rolovßnφ).
CSS
- Pot°ebuji, aby se mi ned∞laly mezery nad a pod
odstavcem.
- Nejjednodu╣╣φ je zßpis:
<p style="margin-top: 0px;
margin-bottom: 0px">
PraktiΦt∞j╣φ je zßpis najednou pro celou strßnku do stylopisu v hlaviΦce
strßnky:
<style>
p {margin-top: 0px; margin-bottom: 0px}
p {margin: 0px} /*Je╣t∞ jednou pro Netscape */
</style>
Vφce v textu o pou╛itφ CSS.
- Jak mßm p°i pou╛itφ CSS zarovnat v tagu "table" tu tabulku na st°ed?
Nebo snad staΦφ normßln∞ napsat: align="center" a je to sprßvn∞? To m∞
trochu nepasuje do CSS.
- Pomocφ CSS nelze zarovnat celou tabulku na st°ed strßnky, musφ se pou╛φt
html atribut align=center nebo se tabulka musφ umφstit do vyst°ed∞nΘho
odstavce. Nejspolehliv∞j╣φ je pou╛φt <center> okolo tabulky. Je fakt, ╛e to
do CSS moc nepasuje. Vlastnost align se vztahuje k zarovnßnφ VNIT╪KU
elementu, nikoli na samotn² element. Neodpovφdß to variabilit∞ atributu
align v HTML.
Centrovßnφ tabulky se v CSS musφ d∞lat takhle:
<p style="text-align: center">
<table style="margin-left: auto; margin-right: auto">
to obalovacφ pΘΦko m∙╛e b²t <div>
styl u obalovacφho prvku je pro Explorer,
styl v tabulce (margin) je pro Mozillu a jinΘ standardnφ prohlφ╛eΦe.
- Nefunguje mi vlastnost vertical-align!
- Internet Explorer podporuje vertikßlnφ zarovnßnφ fakticky jenom u bun∞k
tabulky (<td>).
- Jak mßm "zalockovat" velikost pφsma, aby se mi nezv∞t╣ovalo, kdy╛ si
u╛ivatel p°epne na v∞t╣φ font?
- V Internet Exploreru staΦφ p°edepsat pφsmu velikost v pixelech, nap°.
<span style="font-size: 13px">
nebo totΘ╛ ud∞lat pomocφ stylopisu. (V jin²ch prohlφ╛eΦφch se, pokud vφm,
zv∞t╣uje i takto zadanΘ pφsmo.)
- Pouzivam oddeleni kapitol tagem <hr>. V rozliseni 800*600 vypada stranka
relativne dobre, ale v 1024*768 se text zkrati, kdezto obrazek zustava
stejny a dojde k tomu, ze oddelovaci linka je ve vysce obrazku z predchozi
kapitoly. Dalo by se nejak udelat, aby obrazek byl hezky
obtekan textem a oddelovaci linka vytvorena
tagem <hr> byla vzdy pod obrazkem?
- Tak tohle je zrovna brnkacka. Pridej si do stylopisu radek
hr {clear: both}
Zaruci to, ze kazda cara bude cekat na ukonceni vsech plovoucich elementu.
Kdybys to chtel delat bez css, tak to taky pujde, ale bude to pakarna: Pred
kazdou caru bys musel dat <br clear="all">. Doporucuji prvni postup.
- Lze zm∞nit vzhled formulß°ovΘho v²b∞rovΘho boxu pomoci CSS, tak jako lze
pro IE 5.5 volit barvu li╣ty? Ani
primy zßpis stylu se scroll-..-color polo╛kami mi nefunguje
- Ud∞lal jsem pßr experiment∙ a je to opravdu tak -- barvu rolovacφ li╣ty
u tagu <select> nejde nastavit! V∙bec nijak. TotΘ╛ u barvy pozadφ checkboxu
a selectu. Dß se jedin∞ zpr∙hlednit v IE pomocφ filtr∙.
- U tagu select mi nefunguje z-index.
- To je chyba prohlφ╛eΦ∙ nebo systΘmovß chyba. Select boxy prost∞ budou
v╛dy navrchu. Podobn∞ obΦas chybuje iframe a
flashovß animace.
- V Internet Exploreru 6 se mi nebarvφ
rolovacφ li╣ta!
- Je pot°eba p°idat definici barvy li╣ty pro tag <html> nebo zru╣it
<!doctype>. Tak╛e te∩ to vypadß nap°.
body, html {scrollbar-base-color: yellow}
- Jde pomocφ CSS nastavit odkazu target?
- Ne, to nejde.
Aktivnφ prvky
- Jak mßm naprogramovat, aby vypln∞n² formulß° p°i╣el na mojφ e-mailovou
adresu?
- Napsal jsem o tom celou strßnku formulß° na
mail.
- DoporuΦuji zaregistrovat se na slu╛b∞
www.mailform.cz nebo
www.blueboard.cz a sledovat pokyny. Je
to nejdokonalej╣φ °e╣enφ, proto╛e d°inu ji╛ n∞kdo odvedl a te∩ se tam
vyu╛φvajφ plody. Pokud by to z n∞jak²ch d∙vod∙ ne╣lo, dß se to °e╣it i
svΘpomocφ:
- Nejrychlej╣φ °e╣enφ bude patrn∞ toto:
<form action="adresa@n∞kam.cz" method="post" enctype="text/plain"><input
....>Normßlnφ obsah formulß°e</form>
- Pak to staΦφ akorßt vyzkou╣et. Po╣tu odesφlß klient, forma bude vid∞t.
Pokud by nevyhovoval zasφlan² formßt dat, zkuste experimentovat s enctype.
Do <form > se dß zkusit atribut enctype="multipart/form-data" .
- Dß se to ud∞lat i spolehliv∞ji p°es serverov² program, ale poskytovatelΘ
to nabφzejφ z°φdka. Jß t°eba vyu╛φvßm PHP skripty, ale na to je pot°eba mφt
serverovß prßva.
- Ak mam na www nejaky dotaznik, kt. dana osoba vyplnit - ci je mozne, aby
mi tento dotaznik dosiel mailom aj s diakritikou. Zatial mi miesto
diakritiky posiela cisla ....
- To je prßv∞ to enctype="text/plain".
- M∙╛e╣ mi prosφm poslat tv∙j on-line vyhledßvaΦ?
- Ten fulltextov² vyhledßvaΦ nenφ m∙j, Φili ti ho nem∙╛u poslat. Jß jsem
takΘ zkou╣el naprogramovat sv∙j, ale je lep╣φ nakonec stejn∞ p°ejφt na Atomz.
Jak se to d∞lß:
1. www.atomz.com
2. registrace, kde se zadßvß mail a adresa strßnek
3. po╣lou html k≤d formulß°e, p°idß se to do strßnek a u╛ to chodφ
4. m∙╛e╣ si nastavit spoustu v∞cφ vΦetn∞ vzhledu vyhledßvacφch strßnek. D∞lß
se to po nalogovßnφ na server atomz a ·pravou n∞jak²ch templates a v╣eho
dal╣φho.
V poslednφ dob∞ (psßno 2002) mßm zprßvy, ╛e Atomz uzav°el registrace zdarma.
- Dß se za°φdit vyhledßvßnφ i bez registrace na Atomz?
- Jo, dß se vyu╛φt Google. N∞komu to nefunguje, proto╛e mu Google na
strßnky nechodφ (to se stßvß z°φdka). Do strßnky se umφstφ tento formulß°:
Vyhledßvßnφ na www.cokoliv.cz/moje/ pomocφ systΘmu Google <br><form
action="http://www.google.com/search" target="_blank">
<input name="as_q" size=20>
<input type="hidden" name="as_sitesearch" value="cokoliv.cz">
<input type="hidden" name="num" value="10">
<input type="hidden" name="btnG" value="Vyhledat Googleem">
<input type="submit" value="Vyhledat">
</form>
Do jednoho skrytΘho polφΦka se musφ zadat
zaΦßteΦnφ fragment adresy prohledßvan²ch strßnek.«el, nedß se to
omezit na Φßst domΘny, prohlevßvß to celou domΘnu cokoliv.cz. Tak╛e pokud
mßte svΘ strßnky se jmΘnem adresß°e na konci, tak to nefunguje. V²sledky
formulß°e se otev°ou v novΘm okn∞. Bude to
strßnka ze serveru Google.com.
- Jak ud∞lat na strßnce rozbalovacφ menu, aby se p°i p°ejetφ odkazu
objevily dal╣φ odkazy s podrobn∞j╣φ nabφdkou? T°eba jako je to vpravo naho°e
na strßnce microsoft.com.
- To nenφ ╛ßdnß sranda. Musφ se to naprogramovat v Javascriptu. Nic pro
zaΦßteΦnφky (taky mi to je╣t∞ nefunguje). Nebo to lze odn∞kud ukrßst a
p°epsat hodnoty odkaz∙. T°eba z Microsoft.com.
- Jak na strßnku dostanu nßv╣t∞vnφ knihu, guestbook?
- Je pot°eba ji bu∩ naprogramovat v n∞jakΘm serverovΘm skriptu, nebo se
zaregistrovat na n∞jakΘ slu╛b∞, kterß to nabφzφ zdarma. T°eba
www.blueboard.cz nebo
www.guestbook.cz.
Skripty
- Jak poznßm, jestli mßm na n∞co pou╛φt JavaScript, nebo n∞co serverovΘho,
t°eba PHP?
- Obecn∞ se dß °φci, ╛e kde nenφ pot°eba uklßdat informace, staΦφ
JavaScript. Jakmile je ale pot°eba ulo╛it informaci pro pozd∞j╣φ
pou╛itφ, je nutnΘ nasadit serverov² skript. Ne v╛dy je ale t°eba
programovat, proto╛e n∞kterΘ v∞ci nabφzejφ jako slu╛bu
vzdßlenΘ servery.
- 1. Mam zacit s klasickym HTML jazykem?
2. Nebo rovnou se zacit ucit JavaScript, dle knihy JavaScript - David
Flanagan - Kompletni pruvodce.
3. Jak spolu souvisi HTML a JavaScript - daji se vedomosti z HTML vyuzit pri
tvorbe www stranek pomoci JavaScriptu?
- O JavaScriptu: nema VUBEC smysl s
nim zacinat, pokud neumis delat stranky v HTML. Skripty jsou jenom slehackou
na dortu, kde korpus tvori HTML jazyk. Navic dnes neexistuje globalne
pouzitelna verze JavaScriptu (Microsoft ma svuj vlastni), takze odladit
aplikaci pro vsechny prohlizece je drsny ukol, se kterym si poradi jenom
opravdovi fest profici. Vysledek ovsem ani pak neni nijak uzasny.
- JavaScript je zjednodusene receno zpusob, kterym muzes pohybovat s kusy
kodu HTML. Dam asi priklad: odstavec cervenym pismem se udela v HTML takhle
(pouzivam CSS styly):
<p style="color: red" >Text odstavce</p>
- Javascript pritom umi treba po kliknuti na tenhle odstavec zmenit barvu
textu na modrou. Dela se to rozsirenim kodu o atribut onclick, jehoz hodnota
uz je skript:
<p style="color: red" onclick="this.style.color = blue">Text
odstavce</p>
,
coz ale funguje jenom v Exploreru, protoze je to Microsofti javaScript. Aby
to fungovalo v Netscape, musi se odstavec pojmenovat atributem id:
<p style="color: red" id="odstavec" onclick="document.ids.odstavec.color
= blue">
- Aby to fungovalo v obou prohlizecich, musis napsat do kodu podminku,
ktera bude testovat prohlizec. Jak jiste podle tohoto prikladu chapes,
delani dobrych skriptu neni zadna sranda. Hodne lidi udela skript, ktery
funguje jenom nekde, coz ale ti autori nikdy nezjisti, protoze to jinde
nezkusi, takze si mysli, ze umi psat skripty. Proste jsi-li zacatecnik,
vykasli se na Javascript.
- Potreboval bych vedet jak docilim toho abych mel na 1 strance nekolik
obrazku a po kliknuti na jeden z nich se zobrazil na dalsi strane s jeho
nßzvem.
- To je potreba udelat pro kazdy obrazek novou stranku, na ktere bude ten
obrazek a jeho nazev jako text. Pokud by tam ten nazev byt nemusel, nemusi
se delat nova stranka a staci odkaz namirit na ten obrazkovy soubor
- H╡adßm fciu alebo script, ktor²m by som zakßzal pou╛itie pravΘho
tlaΦφtka my╣i na strßnke (napr. aby sa nedal stiahnu╗ obrßzok).
- Dß se to napsat v JavaScriptu, ale je to zbyteΦnΘ, proto╛e zku╣enφ
u╛ivatelΘ dokß╛φ stahovat obrßzky i zdroje i bez pravΘho tlaΦφtka (nap°.
uklßdßnφm, Teleportem, anal²zou zdroje, vyta╛enφm z cache, star╣φm
prohlφ╛eΦem, matenφm escapem atd.).
Jakmile dß╣ jednou na web obrßzek, tak se musφ╣ smφ°it s tφm, ╛e p∙jde
stßhnout.
Kdybys p°ece cht∞l ten skript psßt, tak se p°i kliknutφ zji╣╗uje, jestli je
event.button rovnou 2 (pravΘ tlaΦφtko). Jestli jo, tak se to zablokuje t°eba
alertem. Tak╛e t°eba
<body onmousedown="if(event.button == 2) alert('neklikat!')">
- Zajφmalo by m∞, jestli lze JavaScriptem n∞co ulo╛it a poslΘze ulo╛enß
data n∞jak dßle vyu╛φvat.
- Nejde to. Je to nejv∞t╣φ omezenφ JavaScriptu, d∙vodem je bezpeΦnost.
JedinΘ informace, kterΘ se dajφ uklßdat, jsou cookies, ale ty jsou moc malΘ,
nestßlΘ a p°φstupnΘ jenom klientovi.
XML
Jak psßt v XML b∞╛nΘ strßnky?
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:
- neexistuje opravdu dobr² a POHODLN▌ xml editor
- xml jako datovß struktura °e╣φ vlastn∞ ·pln∞ jinΘ v∞ci, ne╛ se kter²mi
se setkßvß tv∙rce b∞╛n²ch strßnek.
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 to °e╣φ PHP (nebo CGI) na
stran∞ serveru. Pokud bych cht∞l to samΘ d∞lat v XML, tak bych musel hodn∞
prasit.
o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek