Iframe

vno°en² rßm

P°φklad - Atributy tagu IFRAME - Alternativa - Odkazy tam a zpßtky - Pou╛itφ

V╣echny modernφ prohlφ╛eΦe krom∞ Netscape 4.x podporujφ tag <iframe>. Ten umo╛≥uje vlo╛it do strßnky rßm p°esnΘ velikosti a zobrazit v n∞m jinou strßnku (tΘ °φkßm "vno°enß"). Je to pak hodn∞ podobnΘ obrßzku, akorßt ╛e obsah m∙╛e b²t zcela libovoln² (textov² a rolovan²). Iframe se Φte φfrejm, anglicky ajfrejm a v Φesk²ch textech se takΘ obΦas oznaΦuje jako plovoucφ rßm.

P°φklad

V HTML k≤du to vypadß takhle:

<iframe src="priklad15.htm" width="300" height="100">

</iframe>

Na strßnce se potom objevφ toto:

HezkΘ, ne?

V╣imn∞te si prosφm, ╛e tag <iframe> je pßrov².

Atributy tagu <iframe>

src
jak jist∞ chßpete, atribut src obsahuje URL k souboru vno°enΘ strßnky. To m∙╛e b²t klasicky relativnφ (jako v tomto p°φkladu) nebo absolutnφ.
width a height
╣φ°ka a v²╣ka. Hodnotou m∙╛e b²t velikost v pixelech nebo v procentech. P°itom klasicky procentußlnφ ╣φ°ka se odvozuje z ╣φ°ky strßnky, kde╛to v²╣kovß procenta se poΦφtajφ z v²╣ky okna. Satrapa tvrdφ, ╛e procenta zadßvat nelze, tak╛e to mo╛nß nenφ ve specifikaci; ale funguje to.
scrolling
pokud se dß scrolling=no, pak se nezobrazφ rolovacφ li╣ty a vno°enou strßnkou nep∙jde rolovat. Scrolling=yes zobrazφ pravou rolovacφ li╣tu bez ohledu na to, je-li pot°eba. Pokud se scrolling neuvede, li╣ty se zjevujφ podle pot°eby.
frameborder
frameborder=0 vypne zobrazovßnφ rßmeΦk∙ kolem vno°enΘho rßmu (asi jenom v IE). JinΘ hodnoty nefungujφ. Atribut border ani framespacing nefunguje a nemß ╛ßdn² vliv (alespo≥ v IE ne).
marginheight, marginwidth
vnit°nφ okraje vno°enΘ strßnky v pixelech
align
nastavenφ obtΘkßnφ (hodnoty right a left) nebo poloha na °ßdku (ostatnφ hodnoty). Je to to samΘ jako u obrßzk∙.
name
jmΘno vno°enΘho rßmu, pou╛itelnΘ u odkaz∙ (atribut target), kterΘ majφ mφ°it do vno°enΘho rßmu.
ostatnφ atributy
dß se pou╛φt takΘ class, id a style. Doufßm, ╛e jsem na nic nezapomn∞l.

P°φklad

<iframe src="rainbow.htm" width=50% height=30 frameborder="0" align="baseline" scrolling=no name=ifrejm>

zobrazφ vno°en² rßm p°es p∙l ╣φ°ky strßnky vysok² 30 pixel∙, bez rßmeΦk∙ a li╣t. V rßmu bude strßnka rainbow.htm. Zarovnan² bude na zßkladnu °ßdku. Jmenuje se ifrejm.

Dal╣φ ovlivn∞nφ vzhledu

Vzhled v╣eho, co bude v tom iframe, se dß nastavit pouze v tom vlo╛enΘm souboru. Nejde to z vn∞j╣φho. Nap°φklad tedy barva pozadφ tΘ vno°enΘ strßnky se musφ definovat ve vno°enΘ strßnce. Dokonce i rßmeΦky iframu se nejlΘpe ud∞lajφ stylovßnφm body pomocφ border ve vnit°nφm souboru.

Alternativa

Co se zobrazφ v prohlφ╛eΦφch, kterΘ <iframe> nepodporujφ?

Tam se zobrazφ to, co je mezi znaΦkami <iframe> a </iframe> (tedy v "obsahu" tagu).

<iframe src="priklad15.htm" width="300" height="100">
Alternativnφ obsah.
</iframe>

Prohlφ╛eΦe, kterΘ <iframe> podporujφ, musejφ alternativnφ obsah ignorovat. Z toho mimo jinΘ vypl²vß, ╛e pokud zapomenete </iframe>, jste v rej╛i.

Star╣φ prohlφ╛eΦe bez podpory alternativnφ obsah zobrazujφ. B²vß zvykem dßvat do alternativnφho textu odkaz na vno°enou strßnku, aby se k nφ dalo dostat p°es libovoln² prohlφ╛eΦ. To je dobrΘ mimochodem takΘ pro vyhledßvacφ roboty.

Odkazy tam a zpßtky

Odkazy se dajφ nasm∞rovat do r∙zn²ch rßm∙ pomocφ atributu target u odkazu.

Z nad°azenΘho do vno°enΘho

<a href="stranka.htm" target="ifrejm">Odkaz do ifrejmu</a>
<iframe name="ifrejm" ...></iframe>

V odkazu se pou╛ije u targetu jmΘno vno°enΘho rßmu (to je atribut name).

Z vno°enΘho do nad°azenΘho

Mo╛nß vßs napadne, ╛e vno°enß strßnka nem∙╛e v∞d∞t, jak se jmenuje nad°azen² rßm. No to opravdu nem∙╛e. Na╣t∞stφ existuje generickΘ jmΘno rßmu _parent, kterΘ oznaΦuje rodiΦovsk² rßm. Ve vno°enΘ strßnce bude:

<a href="jina_stranka.htm" target="_parent">Odkaz z ifrejmu do rodiΦovskΘho okna</a>

Po kliknutφ samoz°ejm∞ zmizφ ob∞ dv∞ strßnky, proto╛e se naΦte ·pln∞ jinß strßnka.

Pokud je tam takov²ch odkaz∙ vφc, vyplatφ se vlo╛it do hlaviΦky vno°enΘ strßnky tag <base target="_parent">.

Z vno°enΘho do vno°enΘho

┌pln∞ normßln∞ bez atributu target.

Pou╛itφ

Proto╛e prohlφ╛eΦ Netscape 4 je na ·stupu, dajφ se vno°enΘ rßmy vcelku dob°e pou╛φvat.  NejΦast∞ji se vyu╛φvajφ jako r∙znß menu nebo pro usnadn∞nφ prßce autora. V poslednφ dob∞ je vφdßm zejmΘna v reklamßch. UrΦit∞ vymyslφte spoustu mo╛nostφ. D∙le╛itΘ je v∞d∞t, ╛e to existuje.

Formulß° v jinΘm k≤dovßnφ

Pokud musφm odeslat ze strßnky formulß°em ·daje do v jinΘm k≤dovßnφ, ne╛ v jakΘm mßm strßnku ud∞lanou, je iframe asi jedinß mo╛nost. Do iframe se dß strßnka jinak k≤dovanß, do nß se dß formulß° a formulß°i se nastavφ target="_parent".

Nelze nastavit rozm∞ry podle obsahu iframe

Nep°φjemnΘ je, ╛e nejde ud∞lat takov² iframe, kter² by m∞nil rozm∞ry podle velikosti vnit°nφho dokumentu. Rozm∞ry width a height je nutno zapsat napevno p°i konstrukci vn∞j╣φ strßnky. Mo╛nß by na to ╣el napsat n∞jak² javascript, ale nenapadß m∞ jak.

P°edchozφ: ProΦ nepou╛φvat rßmy
Vizte tΘ╛: Formßtovßnφ rßm∙, Odkazy v HTML

o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek

Pφ╣e Yuh∙, dusan@pc-slany.cz

Hledßnφ:

Jak psßt web: www.jakpsatweb.cz

Pφ╣e Yuh∙: http://dusan.pc-slany.cz, mail: dusan@pc-slany.cz

Poslednφ aktualizace 10.12.2003