Navigace mezi kartami

Kromě běžných odkazů, které jsou přímo součástí textu stránky, umožňuje WML i vytvoření dalších navigačních prvků, které jsou mnohdy pohodlnější na ovládání než klasické odkazy.

U každé karty můžeme pomocí elementu do definovat několik akcí, které půjde snadno vyvolat stiskem nějaké klávesy nebo výběrem z menu – konkrétní způsob zpřístupnění funkce závisí na použitém prohlížeči.

U <do> se obvykle uvádějí atributy type a label. První z nich určuje typ akce, kterou definujeme. Pokud uvedeme hodnotu accept, říkáme, že uživatel něco bude akceptovat – např. výběr z menu, přechod na další stránku apod. Můžeme také použít hodnotu prev, která mikroprohlížeči říká, že akce má jít vyvolat specifickým způsobem obvyklým na daném zařízení pro přechod na předchozí stránku. Většina telefonů má pro tento účel vyhrazenu speciální klávesu a na ní se tato akce namapuje.

Jako obsah elementu do se uvádí, co se stane, až uživatel volbu vybere. Nejčastěji se používá element go, který umožňuje přechod na libovolnou další stránku nebo kartu určenou pomocí URL adresy v atributu href. Na obrázcích 7 a 8 si můžete prohlédnout, jak se následující stránka zobrazí v různých mikroprohlížečích.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
              "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
  <card title="Prvni karta" id="prvni">
    <do type="accept" label="Dalsi karta">
      <go href="#druha"/>
    </do>
    <p>Vitejte!<br/> 
      Ty nejzajimavejsi informace jsou stejne az na
      druhe karte.</p>
  </card>
  <card title="Druha karta" id="druha">
    <do type="prev" label="Zpet">
      <prev/>
    </do>
    <p>No ona to neni uplne pravda. Mozna se radsi jeste 
      vratite na predchozi kartu.</p>
  </card>
</wml>

Místo go lze použít prázdný element prev, který říká, že se má přejít na předchozí kartu. Funguje tedy obdobně jako tlačítko Zpět v internetových prohlížečích.

Obrázek 7. Některé mikroprohlížeče nabízejí dostupné akce pomocí menu

Obrázek 8. Některé přes rychlou jednotlačítkovou volbu

Snadno dostupná volba pro přechod na předchozí stránku by měla být na každé kartě. Uživateli se často stane, že zvolí špatný odkaz a dostane se někam, kam původně vůbec nechtěl. Tlačítko Zpět je pro něj pohodlná záchrana, jak se dostat k předchozím stránkám a směr brouzdání upravit. Přidávat kvůli tomu ke každé kartě na stránce element do s definicí příslušné akce by bylo dost nepohodlné. Jazyk WML nám naštěstí umožňuje na začátku stránky do elementu template umístit definice akcí, které budou přístupné na všech kartách. Úspora kódu je patrná přitom zejména na stránkách s více kartami.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
              "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
  <template>
    <do type="prev" label="Zpet">
      <prev/>
    </do>
  </template>
  <card title="Prvni karta" id="prvni">
    <do type="accept" label="Dalsi karta">
      <go href="#druha"/>
    </do>
    <p>Vitejte!<br/> 
      Ty nejzajimavejsi informace jsou stejne az na
      druhe karte.</p>
  </card>
  <card title="Druha karta" id="druha">
    <p>No ona to neni uplne pravda. Mozna se radsi jeste 
      vratite na predchozi kartu.</p>
  </card>
</wml>
© Jiří Kosek 2000-2001