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

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.

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 věcí, jako třeba search: a podobně. Nic o tom nevím.

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'".

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.

Nové okno bez lišt a bez nabídky

Říká se tomu popup. 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.

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

Píše Yuhů
dusan@pc-slany.cz
Jak psát web O tvorbě, údržbě a zlepšování internetových stránek.

Základy HTML CSS FrontPage JavaScript

Hledání


Rozšířené


Jak psát web: http://dusan.pc-slany.cz/internet/

Píše Yuhů: autorova stránka, mail: dusan@pc-slany.cz

Poslední aktualizace 26.12.2002