Rßm∙m se anglicky °φkß frames a dnes jsou Φastou souΦßstφ webov²ch strßnek. V tomto textu se sna╛φm na p°φkladu znßzornit, jak to funguje, a objasnit zßkladnφ syntaxi.
Jak to vypadß - T°i soubory - P°φklad - Odkazy v rßmech - Zßludnosti - Jistota navigace
Okno prohlφ╛eΦe je rozd∞leno na n∞kolik obdΘlnφkov²ch Φßstφ (rßm∙). V ka╛dΘm rßmu je (t°eba╛e to nemusφ b²t vid∞t) samostatnß HTML strßnka (soubor). Zpravidla je jeden z rßm∙ menu s odkazy, kterΘ se po kliknutφ realizujφ v jinΘm, hlavnφm okn∞. NejΦast∞ji to vypadß n∞jak takhle:
Obsah: odkaz jin² odkaz zase odkaz |
Rßm s texty
sem ty odkazy z levΘho rßmu vedou Text text: vid∞li jste mojφ strßnku o psanφ na klßvesnici? (skrytß reklama) |
Takov²ch rßm∙ m∙╛e b²t v okn∞ mnoho (prakticky neomezen∞), nejΦast∞ji se pou╛φvajφ dva nebo t°i. Mohou b²t vedle sebe i nad sebou, ale v╛dy to musejφ b²t obdΘlnφky. (Zobrazte si p°φklad v prohlφ╛eΦi.)
Jak to tedy ud∞lat: Proberu p°edchozφ p°φklad se dv∞ma svisl²mi rßmy vedle sebe. Vyskytujφ se tu t°i soubory.
Do souboru priklad10.htm s definicφ rßm∙ jsem napsal tento k≤d:
<html>
<head>
<title>P°φklad s definicφ rßm∙</title>
</head>
<frameset
cols="215,*">
<frame name="obsah"
src="priklad9.htm">
<frame name="text"
src="priklad8.htm">
</frameset>
</html>
Zßrove≥ jsem si vytvo°il soubory priklad8.htm a priklad9.htm. Zobrazte si p°φklad v prohlφ╛eΦi. Co znamenajφ jednotlivΘ tagy:
Nakonec dodejme, ╛e namφsto tagu frame m∙╛e b²t dal╣φ (vno°en²) frameset, kter² op∞t rozd∞lφ rßm na n∞kolik men╣φch. Tφmto konΦφm popis jednoduchΘ v²stavby rßm∙, p°esto╛e problematika obsahuje je╣t∞ dal╣φ ╣peky (zejm. okraje).
Jestli╛e mßm vytvo°enou rßmovou strukturu, mohu kter²koliv odkaz nasm∞rovat do libovolnΘho rßmu. Nynφ se budou hodit jmΘna rßm∙ (nadeklarovanß atributem name v tagu frame). V tagu A (odkaz) se pou╛ije nov² atribut target (cφl) rovn² jmΘnu cφlovΘho rßmu.
<a href="priklad8.htm" target="text">
Po kliknutφ na takov² odkaz se v rßmu jmΘnem "text" objevφ strßnka priklad8.htm.
Pokud bych atribut target nezadal, bude odkaz klikat do tΘho╛ rßmu. To se v mnoha p°φpadech hodφ (v nejv∞t╣φm rßmu), ale jindy je to nevhodnΘ (nap°. u odkaz∙ v rßmu menu).
N∞kdy je pot°eba odkazovanou strßnku zobrazit v novΘm okn∞ nebo v celΘm prohlφ╛eΦi. Proto existujφ specißlnφ jmΘna rßm∙:
<a href="n∞co.htm" target="_top">
se tedy zobrazφ v celΘm okn∞
prohlφ╛eΦe.base
:Mnoho strßnek, zejmΘna takovΘ, kterΘ fungujφ jako obsahy v levΘm rßmu, v╣echny svΘ odkazy posφlajφ do jinΘho rßmu. Aby se u ka╛dΘho odkazu nemusel nastavovat stßle stejn² cφl (target), m∙╛e se nastavit zßkladnφ cφlov² rßm, do kterΘho se budou p°epφnat odkazy na strßnce, pokud nebude stanoveno jinak. D∞lß se to tagem <base>, kter² se umφstφ do hlaviΦky strßnky:
<base target="jmΘno_zßkladnφho_rßmu">
Pou╛φvß se to zejmΘna u obsahu mal²ch rßm∙ se seznamem odkaz∙ (takovΘ to levΘ menu). Nap°. strßnka posφlajφcφ v╣echny odkazy do rßmu pojmenovanΘho (v tagu frame) "text" obsahuje v hlaviΦce zßpis:
<base target="text">
Pokud mß odkaz zamφ°it do rßmu, kter² neexistuje, otev°e se novΘ okno prohlφ╛eΦe a strßnka se zobrazφ v n∞m. Ale toto okno si podr╛φ jmΘno onoho neexistujφcφho rßmu, tak╛e p°φpadnΘ dal╣φ odkazy se stejn²m targetem se budou zobrazovat v tomto okn∞. Vφce o nov²ch oknech otev°en²ch odkazem.
Problematika rßm∙ je velmi ╣irokß. Zatφm jsem nezmφnil, jak se definujφ okraje rßm∙, jejich prom∞nlivß velikost, zobrazenφ li╣t a podobnΘ ╣peky. U nich b²val problΘm ten, ╛e ka╛d² prohlφ╛eΦ (Netscape a Microsoft) vy╛adoval jinou deklaraci stejn²ch v∞cφ. Po nßstupu Mozilly se to hodn∞ zjednodu╣ilo.
U╛ dlouho mnoho webov²ch tv∙rc∙ (vΦetn∞ m∞) od rßm∙ upou╣tφ, proto╛e jsou pomalΘ, nevyzpytatelnΘ, graficky omezenΘ, ╣patn∞ se uklßdajφ, ovlßdajφ a tisknou. (Vizte podrobn² popis problΘm∙.) A dß se bez nich obejφt.
┌pln∞ jinou (a mßlo pou╛φvanou) oblastφ je pou╛φvßnφ takzvan²ch inline frames (vlo╛en²ch rßm∙), kterΘ se dßvajφ do strßnky tagem <iframe>.
Auto°i rßmovan²ch strßnek d∞lajφ zßkladnφ chybu, kdy╛ se domnφvajφ, ╛e ka╛d² u╛ivatel zaΦne Φφst strßnky v╛dycky z tΘ hlavnφ - rßmovanΘ. Existujφ toti╛ vyhledßvacφ stroje a roboti, kterΘ definice rßm∙ ne zcela milujφ. U╛ivatel vyhledßvaΦe pak obvykle zaΦφnß Φetbu na n∞kterΘ vno°enΘ strßnce webu, kterß rßmovanß nenφ. OblφbenΘ rΦenφ °φkß, ╛e Φtenß° p°ichßzφ na web okΘnkem od zßchoda.
U nerßmovan²ch strßnek je zvykem uvßd∞t navigaci (odkazy na p°φbuznΘ strßnky). Autor rßmovan²ch strßnek navigaci opomφjφ v domn∞nφ, ╛e odkazy na sousednφ strßnky u╛ jsou v levΘm rßmu. Jenom╛e lev² rßm se u╛ivateli vyhledßvaΦe nezobrazφ!
Nejjednodu╣╣φm °e╣enφm je umφstit na ka╛dou strßnku alespo≥ odkaz na hlavnφ strßnku (do rßmu "_top"). Tak se p°edejde nejhor╣φmu bloud∞nφ.
Dal╣φ: Detaily rßm∙,
ProΦ nepou╛φvat rßmy
Vizte tΘ╛: Sprßva soubor∙,
Zdokonalenφ odkaz∙, Design pomocφ tabulek,
Barvenφ rolovacφ li╣ty,
Iframe, Rychlost strßnek,
NovΘ okno otev°enΘ odkazem
o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek