Na odkazech stojí celý dnešní internet a každý je považuje za samozřejmost i na mobilních zařízeních. Ve WML sice nejde otevírat odkazy v rámech, nebo do nového okna, ale to rohodně neznamená, že by odkazy v xml byly nějak „pozadu“.

Ve WML existují dva druhy odkazů. Interní a externí. Zatímco externí odkazy směřují, jak to běžně vídáme, na nějaký soubor, interní odkazy směřují na jinou kartu v tom samém souboru. Odkazy tvoříme podobně, jako v HTML, pomocí <a href="adresa">odkaz</a>.

Začneme odkazy mezi kartami. Karta se volí přidáním #id_karty na konec adresy (pokud se jedná o odkaz externí, pokud odkazuje do stejného souboru, bude #id_karty celý obsah atributu href). Použití si ukážeme na příkladě p04.wml:

<?xml version=“1.0″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“ „http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card id=“karta1″ title=“Prvni karta“>
<p>
Sem dame <a href=“#karta2″>odkaz</a> na dalsi kartu.
</p>
</card>
<card id=“karta2″ title=“Druha karta“>
<p>
A sem dame <a href=“#karta1″>odkaz</a> na prvni kartu.
</p>
</card>
</wml>

To byly odkazy interní. Teď si ukážeme odkaz externí na příkladě p05.wml:

<?xml version=“1.0″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“ „http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card id=“karta1″ title=“Externi odkaz“>
<p>
Zde je <a href=“p04.wml“>odkaz</a> soubor p04.wml.
</p>
</card>
</wml>

A pokud má cílový soubor více karet, můžeme odkazovat i na ně (p06.wml):

<?xml version=“1.0″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“ „http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card id=“karta1″ title=“Externi odkaz“>
<p>
Zde je <a href=“p04.wml#karta1″>odkaz</a> na prvni kartu v souboru p04.wml.
Zde je <a href=“p04.wml#karta2″>odkaz</a> na druhou kartu v souboru p04.wml.
</p>
</card>
</wml>

V čem se liší uspořádání stránky pomocí karet a souborů? Mobilní prohlížeč zobrazí stránku až po načtení celého souboru. Pak má ale soubor v paměti a po aktivování interního odkazu se nemusí nic načítat. Všechny karty, které jsou součástí stejného souboru jako aktuální karta, jsou už v paměti a proto se mohou ihned zobrazit. Toto řešení má ale velkou nevýhodu, než uživatel uvidí první písmenko, musí se načíst celý soubor. Nejlepší je použít kombinaci těchto řešení. Pokud třeba budeme zobrazovat článek, je lepší ho načíst celý najednou, protože je více, než pravděpodobné, že si ho uživatel bude chtít dočíst až do konce. K čemu ale dávat na jednu kartu dvě témata, třeba stránky o rybaření a o létání do jednoho souboru, když uživatel s dost vysokou pravděpodobností navštíví jen jedno z těchto dvou témat.

Navigaci na našich stránkách ale můžeme výrazně oživit. Pomocí elementu do můžeme přiřadit vlastní funkce systémovým klávesám, či položkám v menu (p07.wml):

<?xml version=“1.0″?>
<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“ „http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<card id=“karta1″ title=“Prvni karta“>
<do type=“accept“ label=“Na druhou kartu“>
<go href=“#karta2″ /> </do>
<p>
Odkaz na druhou kartu najdete v menu
</p>
</card>
<card id=“karta2″ title=“Druha karta“>
<do type=“prev“ label=“Zpet na tu prvni“>
<prev/>
</do>
<p>
A sem dame <a href=“#karta1″>odkaz</a> na prvni kartu.
</p>
</card>
</wml>

Buď můžeme vložit odkaz na nějakou konkrétní adresu pomocí <go href="adresa" />, nebo třeba na předchozí stránku pomocí <prev/>. S použitím template ale stačí všechny tyto akce nastavit jednou a pak budou použity na všechny karty v souboru (p08.wml):

<!DOCTYPE wml PUBLIC „-//WAPFORUM//DTD WML 1.1//EN“ „http://www.wapforum.org/DTD/wml_1.1.xml“>
<wml>
<template>
<do type=“accept“ label=“Prvni karta“>
<go href=“#karta1″ />
</do>
<do type=“accept“ label=“Druha karta“>
<go href=“#karta2″ />
</do>
</template>
<card id=“karta1″ title=“Prvni karta“>
<p>
Odkaz na druhou kartu najdete v menu
</p>
</card>
<card id=“karta2″ title=“Druha karta“>
<p>
A sem dame <a href=“#karta1″>odkaz</a> na prvni kartu.
</p>
</card>
</wml>

Ukázky ze všech článků najdete na http://wap.podklady/1999-2008.interval.cz/slabikarwml/.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět