Lezione 5. IL TAG "DO"
TAG "do"
Il tag "do" consente di specificazione un'azione da svolgere nella card corrente.
L'azione é assegnata ad una cosidetta soft-key che può essere attivata
direttamente dall'utente; può essere un bottone grafico sul display del telefonino,
un tasto funzione o speciale sulla tastiera, un comando ad attivazione vocale,
etc.
<do type="azione" label="etichetta" name="nome">
go|refresh|prev|noop
</do>
Attributi principali
type |
Indica l‘azione da eseguire. Obbligatorio.
Alcune delle azioni che possono essere specificate sono:
type="accept", esegue il contenuto del tag
type="prev ", torna all'ultima pagina visitata
type="reset", resetta il contesto del browser
type="unknow", non specifica alcuna azione
|
label |
Specifica l'etichetta di testo da
associare alla soft-key, meglio non superare i 6 caratteri. Se non é possibile
visualizzare alcuna etichetta, questo attributo sarà ignorato. |
name |
Definisce l'identificativo del tag. Da notare che,
nella stessa card, non è possibile avere più di un tag "do" con lo stesso nome.
|
Il comando "do" specificato all’interno di una card ha il sopravvento sul comando
"do" eventualmente specificato nel template nel caso in cui
il nome sia lo stesso.
All'interno dell'elemento "do" é possibile specificare una delle seguenti
azioni, descritte in dettaglio nel seguito:
TAG AZIONE "go"
Permette di specificare lo URL a cui saltare quando si seleziona quella soft-key.
All'interno del tag "go" é poi possibile specificare anche il tag setvar per
cambiare il valore di una o più variabili nella card di destinazione.
<go href="url">
<setvar nome="nome_variabile" value="valore_da_assegnare"/>
</go>
Attributi principali
href |
Specifica lo URL a cui puntare. |
TAG AZIONE "prev"
Permette di indirizzare la navigazione all'ultima card visitata, contenuta nell’history stack.
All'interno del tag "prev" é poi possibile specificare anche il tag setvar per
cambiare il valore di una o più variabili nella card di destinazione.
<prev>
<setvar nome="nome_variabile" value="valore_da_assegnare"/>
</prev>
Per assegnare alla soft-key 'back' il ritorno alla card precedente:
<do type="accept" label="Back">
<prev/>
</do>
TAG AZIONE "refresh"
Il tag "refresh" forza il ricaricamento della card. Utile nel caso in cui il contenuto della card debba essere
nuovamente visualizzato, magari per aggiornare qualche variabili.
<refresh>
<setvar nome="nome_variabile" value="valore_da_assegnare"/>
</refresh>
<do type="accept" label="Reload">
<refresh/>
</do>
TAG AZIONE "noop"
Questo tag indica che non deve essere eseguita alcuna azione. E' solitamente utilizzato per
sovrascrivere un eventuale tag "do" contenuto nel template.
<noop/>
STACK HISTORY
Le specifiche WML prevedono l'implementazione di un history stack
delle card visitate, cioé di un elenco all'interno del quale il microbrowser memorizza
cronologicamente tutte le card visitate. Il tag <prev>, già incontrato diverse volte,
consente di rimuovere dall'history la card visualizzata, tornando all'ultima card già
visitata, un po' come siamo abituati a fare con i normali browser Internet.
Differentemente da questi però non é possibile spostarsi in avanti sulla history stack
poiché appunto il metodo <prev> rimuove la card corrente dallo stack che quindi
non risulterà più disponibile nella memoria cache del microbrowser.
L'history stack é strettamente correlato al browser context
corrente e quindi quando questo viene reinizializzato dal codice per un qualsiasi motivo,
anche l'history stack viene cancellato e reinizializzato. Alcuni microbrowser poi
consentono di visualizzare l'history stack e compiere alcune semplici operazioni su di esso
come la reinizializzazione dello stack oppure la possibilità di spostarsi immediatamente
in una card precisa.
|