Iniziamo ora a lavorare sul codice Actionscript; per prima cosa importeremo i file di SWFAddress. Inseriamo quindi il codice:
import com.asual.sfwaddress.*
Come funziona SWFAddress? Ogni volta che l'utente preme il pulsante indietro o avanti SWFAddress invia un evento per notificare che c'è stata la pressione del tasto sarà poi nostro compito cambiare lo stato o l'aspetto della nostra applicazione.
L'evento a cui dovremo rispondere è SWFAddress.CHANGE; tutti i comandi di SWFAddress sono di tipo static, non dobbiamo quindi creare istanze di SWFAddress.
Inseriamo il codice:
SWFAddress.addEventListener(SWFAddressEvent.CHANGE,onChange)
creiamo quindi la funzione onChange con un parametro di tipo SWFAddressEvent, di tipo Event; la funzione non ritornerà nessun elemento.
Bene, ora ogni volta che l'utente lancerà l'evento CHANGE nel Flash verrà richiamata la funzione onChange tramite cui potremo gestire le azioni conseguenti l'evento; dobbiamo fare anche in modo che quando l'utente preme nel Flash uno dei pulsanti per cambiare sezione ne venga tenuta traccia, così che SWFAddress memorizzi questi passaggi e si possa sapere in che sezione si trova l'utente.
Con il nostro codice è semplice, per esempio nel caso del click sul pulsante Bio aggiungiamo una chiamata al metodo setValue di SWFAddress, dando come parametro un valore che SWFAddress possa usare (nel nostro esempio sarà Biography). Questo parametro sarà usato per impostare anche il titolo della pagina nella barra del browser, ecco perchè ho preferito usare la maiuscola, dato che questo valore apparirà anche come titolo.
Ora ripetiamo l'operazione per ognuna delle sezioni: la prossima sarà Photos, quindi Videos e infine l'ultima sarà Links.
Abbiamo fatto in modo di notificare a SWFAddress il click sui pulsanti del menu del filmato, in questo modo ne verrà tenuta traccia e sarà possibile spostarsi avanti e indietro tramite i pulsanti del browser.
Passiamo ora a preparare il codice per la funzione OnChange che viene richiamata ad ogni cambio di stato di SWFAddress. Per prima cosa setteremo il titolo della pagina basandoci sul parametro usato in precedenza per setValue, useremo il parametro della funzione (e); e.value conterrà infatti questa stringa: se l'utente clicca su photos, e.value conterrà "Photos", passato come stringa. Ricordiamo che la stringa verrà passata con anteposto uno slash ( / ), quindi il valore completo passato dopo il click su Photos sarà /Photos.
Un test che faremo è controllare che il parametro non sia solo uno slash, ovvero non ha acceduto direttamente alla pagina bea.html, caso in cui avrei come valore di e.value solo /.
Scriviamo quindi
ovvero se e.value è diverso da uno slash ( / ) allora impostiamo il titolo della pagina, scriviamo:
Attualmente la pagina ha SEMPRE titolo "Bea Brimelow - Biography", invece vogliamo che cliccando su photos il titolo sia "Bea Brimelow - Photos" , o ".. - Videos" e così via. Impostiamo allora il parametro per setTitle. Abbiamo come parte fissa "Bea Brimelow - ", a cui aggiungiamo e.value, per esempio cliccando su "Biography" avremmo "Bea Brimelow - Biography".
Ricordiamo però che e.value inizia con uno slash, per cui lo rimuoviamo usando e.value.substring(1). Impostiamo poi la condizione else (siamo nel caso in cui e.value è uguale ad uno slash, quindi l'utente è arrivato su bea.html), settiamo in questo caso come titolo fisso "Bea Brimelow - Biography", che è la sezione principale del nostro mini-sito.
Facciamo un rapido copia incolla e una semplice modifica per impostare il titolo fisso. Pubblichiamo ora il nostro file, apriamo quindi la pagina nel browser: clicchiamo su Photos e vediamo il titolo che cambia in "Bea Brimelow - Photos". Notiamo la struttura dell'URL creato da SWFAddress, con un cancelletto (#), lo slash(/) e poi la scritta Photos.
Per approfondire: