Odkazy v HTML

Tag <a> - Href - URL - Protokoly - Relativnφ odkazy - Ko°enovΘ adresy - JinΘ formßty soubor∙ - NovΘ okno a cφlov² rßm

Nßzor kocoura AjΦiho

Tag <a>

Text, kter² slou╛φ jako odkaz, je obalen pßrov²m tagem <a>:

<a>Text odkazu</a>

Href=

Tag <a> mß d∙le╛it² atribut "href", toti╛ cφl. Href obsahuje adresu, podle kterΘ prohlφ╛eΦ poznß, na jakou strßnku se mß p°epnout, kdy╛ se na odkaz klikne.

<a href="http://www.seznam.cz">Seznam</a>

Toto je odkaz na Seznam, hodnotou "href" je adresa "http://www.seznam.cz". Zobrazφ se takto: Seznam

URL

Adrese se takΘ °φkß URL. Znamenß to Unique Resource Locator, Φili jednoznaΦnΘ umφst∞nφ zdroje. Pou╛φvß se nejenom u odkaz∙, ale i p°i vklßdßnφ obrßzk∙, CSS soubor∙, objekt∙, prost∞ r∙zn²ch soubor∙.

Nap°φklad "http://www.seznam.cz" je URL Seznamu.

Pokud vßs nezajφmß teorie jeho slo╛enφ, pokraΦujte Φtenφ u relativnφho odkazu.

Slo╛enφ URL

URL lze symbolicky zapsat takto:

protokol://server.domΘna.generickß-
domΘna
:port/cesta/soubor#zßlo╛ka?dotaz

Zjednodu╣en∞: protokol://server.domΘna.generickß-domΘna/cesta/soubor

P°φklady:

odkaz protokol server domΘna gen. domΘna cesta soubor
http://www.seznam.cz http: www seznam cz nenφ nenφ
http://dusan.pc-slany.cz/internet/default.htm http: dusan pc-slany cz internet default.htm
http://www.jakpsatweb.cz/odkazy_html.htm http: www jakpsatweb cz nenφ odkazy_html.htm

URL se vypl≥uje do atributu href tagu a. Symbolicky zapsßno:

<a href="URL">Odkaz</a>

Protokoly

Protokol∙m se n∞kdy takΘ °φkß "schΘmata". Protokolem je mφn∞n zp∙sob, jak²m se prohlφ╛eΦ pokusφ dosßhnout cφle odkazu.

HTTP:

Zßkladnφm protokolem pou╛φvan²m na www strßnkßch je HTTP. HyperText Transfer Protocol. Mßlokdy se setkßte s n∞Φφm jin²m. V∞t╣ina URL zaΦφnß °et∞zcem "http://". Modernφ prohlφ╛eΦe p°i ╗ukßnφ adresy dokonce http:// p°ed°azujφ automaticky. To ale neznamenß, ╛e by se to http:// mohlo vypou╣t∞t p°i zßpisu odkaz∙ do html strßnek. (Pak by si prohlφ╛eΦ myslel, ╛e je to relativnφ adresa.)

FTP:

Protokol pro p°enos soubor∙ je FTP -- File Transfer Protocol. Odkazujφ se jφm soubory umφst∞nΘ na FTP serverech. Pokud se s takov²m odkazem prohlφ╛eΦ potkß, pokusφ se spustit n∞jakΘho FTP klienta (n∞kterΘ prohlφ╛eΦe jej majφ zabudovan²) a p°edat mu po╛adavek na sta╛enφ souboru. Formßt adresy je ftp://u╛ivatel@server/cesta/soubor, nap°φklad ftp://ftp.pc-slany.cz je odkaz pro anonymnφ p°ipojenφ k ftp serveru. (KterΘ je mimochodem zakßzßno. Anonymnφ znamenß bez jmΘna u╛ivatele; u╛ivatelsk² p°φstup vy╛aduje heslo.)

FILE:

Sv∙j vlastnφ disk m∙╛ete odkazovat pomocφ pseudoprotokolu FILE. Na Internetu je nepou╛iteln². V∞t╣ina prohlφ╛eΦ∙ si jej domyslφ, kdy╛ vidφ v adrese pφsmenko:/ . ZajφmavΘ je, ╛e za file: jsou t°i lomφtka -- nap°. file:///C:/dokumenty/soubor.htm .

MAILTO:

Protokol mailto: se pou╛φvß na odkazovßnφ e-mailov²ch adres. Formßt je mailto:elektronickß adresa. Nap°. <a href="mailto:dusan@pc-slany.cz">Napi╣te mi!</a> . Pokud se prohlφ╛eΦ potkß s takovou v∞cφ, spustφ po╣tovnφ program a p°edß mu adresu jako parametr. Vφce v textu o mailov²ch adresßch.

A dal╣φ...

Existujφ je╣t∞ dal╣φ protokoly (nap°. Gopher, News), kterΘ se ale p°i psanφ webov²ch strßnek pou╛ijφ tak z°φdka, ╛e si nejsem zdaleka jist² jejich sprßvnou funkcφ. 

Zkuste si takΘ view-source:file:///c:/autoexec.bat M∞l by se zobrazit n∞jak² soubor v zobrazenφ zdroje. Za view-source: se musφ uvßd∞t absolutnφ adresa (nelze relativnφ).

Kdy╛ u╛ jsem u pseudoprotokol∙, tak bych m∞l zmφnit about:. Za about: se dß napsat text, kter² se zobrazφ jako obsah strßnky. Nap°. <a href="about:Toto je text zobrazovan² po kliknutφ na odkaz.">Zkuste si to</a>. Dajφ se tam dokonce pou╛φvat i tagy, ale ne uvozovky (nahra∩te apostrofy). Je to ale celkem k niΦemu, mimo jinΘ proto╛e to nenφ ve specifikaci a Netscape to neumφ. Existuje v²jimeΦnß hodnota about:blank, kterß zobrazuje ·pln∞ prßzdnou strßnku. 

V Internet Exploreru si obΦas lze v╣imnout divn²ch protokol∙, jako t°eba search: a podobn∞. Nic o tom nevφm. Znßm jedin∞ https:, co╛ je protokol pro bezpeΦnΘ p°edßvßnφ http ·daj∙.

Relativnφ odkazy

Pokud adresa odkazu (URL) nezaΦφnß protokolem, prohlφ╛eΦ vφ, ╛e se jednß o "relativnφ odkaz". My╣lenka relativnφch odkaz∙ vyu╛φvß faktu, ╛e v∞t╣ina odkaz∙ mφ°φ na stejn² server nebo dokonce do stejnΘho adresß°e (slo╛ky). Proto se do relativnφ adresy pφ╣e zpravidla jenom jmΘno souboru -- prohlφ╛eΦ vφ, ╛e ho mß hledat ve stejnΘm adresß°i.

Jin²mi slovy, prohlφ╛eΦ si p°ed relativnφ odkaz p°idß URL p°edchozφ strßnky bez jmΘna souboru.

Je-li odkazovan² soubor v jinΘm blφzkΘm adresß°i (slo╛ce), tak se do relativnφ adresy p°ed jmΘno souboru p°idß cesta. Zßpis nad°azenΘho adresß°e se d∞lß standardn∞ dv∞ma teΦkami.

P°φklad

Mßm 3 strßnky na serveru www.xyz.cz. V tabulce uvßdφm jejich absolutnφ adresy (s protokolem http://) a vzßjemnΘ relativnφ adresy.

absolutnφ adresa relativnφ adresa z:
index.html slozka/
1.html 2.html
http://www.xyz.cz/index.html index.html ../index.html ../index.html
http://www.xyz.cz/slozka/1.html slozka/1.html 1.html 1.html
http://www.xyz.cz/slozka/2.html slozka/2.html 2.html 2.html

Pokud vßm tato tabulka p°ijde nep°ehlednß, napi╣te mi prosφm, jß ji p°ed∞lßm.

Zßpis relativnφ adresy se d∞lß normßln∞. T°eba ze strßnky 1.html na strßnku 2.html:

<a href="2.html">Druhß strßnka</a>

Ko°enovΘ adresy

N∞co mezi absolutnφmi a relativnφmi adresami jsou adresy beroucφ za zßklad ko°en dokument∙ zvan² tΘ╛ root (Φti [r∙t]:-). TakovΘ adresy zaΦφnajφ lomφtkem. Nap°φklad adresa

href="/kontakt.html"

mφ°φ na soubor kontakt.html, kter² le╛φ na tΘm╛e serveru, jako strßnka, kterß odkaz obsahuje, ale v rootu. Kdyby strßnka le╛ela kdekoliv na serveru www.xyz.cz, tak odkaz "/kontakt.html" bude mφ°it na soubor www.xyz.cz/kontakt.html. Kdyby ale strßnka s odkazem le╛ela t°eba na serveru www.seznam.cz, tak naprosto stejn∞ zapsan² odkaz "/kontakt.html" povede nynφ na soubor www.seznam.cz/kontakt.html.

Adresa s lomφtkem na zaΦßtku tedy nenφ ani odkazem relativnφm (proto╛e nezßle╛φ, ze kterΘ strßnky na serveru vede) ani odkazem absolutnφm (proto╛e posφlß dotaz v╛dy na tent²╛ server).

Pokud vßm teorie ko°enov²ch adres p°ipadß zbyteΦnß, pus╗te to z hlavy. Jß jsem myslφm ko°enovou adresu pou╛il v ╛ivot∞ jen dvakrßt, tak╛e se to skoro k niΦemu. Ale je dobrΘ v∞d∞t, ╛e to existuje.

JinΘ formßty soubor∙

Soubory typu htm a html se otevφrajφ normßln∞ v prohlφ╛eΦi. Stejn∞ tak serverov∞ generovanΘ strßnky .asp, .php (php3, phtml), .shtml, .jsp.

Ke ka╛dΘmu dal╣φmu typu soubor∙ (chßpe se to podle p°φpony) mß prohlφ╛eΦ urΦen² program, jim╛ se otevφrß. Ve Windows se to nastavenφ p°ebφrß z asociacφ operaΦnφho systΘmu. Tak nap°φklad textov² soubor se otevφrß v Notepadu.

Kdy╛ nasm∞rujete odkaz na soubor (do href normßln∞ napφ╣ete URL na soubor.xxx), tak se ten asociovan² program spustφ. P°ed tφm se u╛ivatele obvykle zeptß, zda se mß otev°φt z aktußlnφho umφst∞nφ, nebo ulo╛it na disk (z bezpeΦnostnφch d∙vod∙). Existujφ druhy soubor∙, u kter²ch se prohlφ╛eΦ neptß -- t°eba obrßzky nebo prost² text.

Nap°φklad odkaz na sta╛enφ zip archivu se do HTML napφ╣e t°eba takto: <a href="archiv.zip">Sta╛enφ archivu</a>.

Velmi Φasto se takto p°φmo odkazujφ obrßzky typu jpg. Nap°φklad toto je odkaz na soubor fotografie.jpg, kterß le╛φ v adresß°i fotky: <a href="fotky/fotografie.jpg">

Sta╛enφ souboru neovlivnφte

U n∞kter²ch soubor∙ se objevuje dialog "otev°φt nebo ulo╛it". Jestli se to objevφ nebo ne zßvisφ pln∞ na nastavenφ asociacφ a prohlφ╛eΦe v poΦφtaΦi u╛ivatele a v HTML se to nedß nijak ovlivnit. Pokud chcete, aby se u╛ivateli objevila v²zva "otev°φt nebo ulo╛it", nenφ skoro ╛ßdnß mo╛nost, jak to spolehliv∞ za°φdit. Asi nejjist∞j╣φ je zabalit odkazovanΘ soubory od zip archivu, ten mß v∞t╣ina lidφ nastaven² na stahovßnφ. Nebo k odkazu napsat: "klikn∞te prav²m tlaΦφtkem a dejte 'ulo╛it cφl jako'".

(ProfesionßlovΘ to °e╣φ tak, ╛e nastavujφ v konfiguraci server∙ pro urΦit² typ souboru jin² mime-type nebo pou╛ijφ hlaviΦku Content-disposition: attachment.)

NovΘ okno a cφlov² rßm

V odkazu se dß urΦit, v jakΘm rßmu nebo okn∞ se otev°e. K tomu slou╛φ atribut target. Kdy╛ napφ╣u t°eba

<a href="http://www.seznam.cz" target="_blank">Seznam</a>,

otev°e se po kliknutφ Seznam v novΘm okn∞. Slovo "_blank" je vyvolenΘ. Jako hodnota target se m∙╛e pou╛φt jakΘkoliv jinΘ jmΘno (name) rßmu. Vφce o nov²ch oknech.

NovΘ okno bez li╣t a bez nabφdky

Musφ se pou╛φt javascript. Nap°.

<a href="http://www.seznam.cz" onclick="window.open('http://www.seznam.cz','ramecek','width=600,height=500,toolbar=0'); return false">Seznam do novΘho okΘnka</a>

Vysv∞tlenφ p°φkladu a dal╣φ mo╛nosti p°φkazu window.open() najdete v uΦebnici javascriptu.

Vφce o nov²ch oknech.

Dal╣φ: Zdokonalenφ odkaz∙
Vizte tΘ╛: Zßlo╛ky, Jak psßt texty na web, Zßklady HTML, cφlovΘ okno (rßmy), URL v CSS, NovΘ okno bez li╣t, NovΘ okno otev°enΘ odkazem
Odkaz mimo: ProΦ neotevφrat odkazy do novΘho okna (Sova v sφti)

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