Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Guida ad HTML5: storage per le web application (3/3)
Scritto da Pellegrino Principe il 15-11-2010 ore 11:03
Utilizzare gli oggetti di tipo Storage è semplice e immediato e per farlo abbiamo le tre seguenti possibilità:
  • mediante le funzioni setItem e getItem;
  • avvalendoci della caratteristica che consente di aggiungere dinamicamente una proprietà a un oggetto JavaScript semplicemente scrivendola dopo l’operatore punto e assegnandole un valore. Questa metodologia è definita expando properties;
  • avvalendoci della caratteristica che in JavaScript ogni oggetto è internamente implementato come un array associativo, e pertanto la chiave può essere associata utilizzando il consueto operatore di subscript [].
Vediamo, in successione, dei frammenti di codice che illustrano le metodologie suesposte:
  1. window.sessionStorage.setItem("firstname","Pilgrim");
  2. var name = window.sessionStorage.getItem("firstname");
  1. window.sessionStorage.firstname = "Pilgrim";
  2. var name = window.sessionStorage.firstname;
  1. window.sessionStorage["firstname"] = "Pilgrim";
  2. var name = window.sessionStorage["firstname"];
Dobbiamo tener presente che, qualsiasi tecnica decidiamo di utilizzare per creare un item, il valore, che può essere di qualunque tipo, è sempre convertito nel suo equivalente stringa, e ciò può comportare dei problemi se i valori ci servono, ad esempio, per operazioni matematiche. Infatti, se utilizziamo come valore un tipo numerico, dobbiamo poi ricordarci di riconvertirlo, nella fase di get, nel suo tipo di origine.

Abbiamo, comunque, la possibilità di “aggirare” il problema costruendo degli oggetti JSON, che in fase di set saranno serializzati e in fase di get saranno deserializzati:
  1. var Shape =
  2. {
  3.     name : "Square",
  4.     width : 15,
  5.     height : 30,
  6.     unit : "mm"
  7. }
  8. window.sessionStorage["Shape"] = JSON.stringify(Shape);
  9. var shape = JSON.parse(window.sessionStorage["Shape"])
Il codice mostrato crea un oggetto di tipo Shape, con la notazione letterale (object literals) e poi, mediante la funzione JSON.stringify, lo serializza in una stringa contenente del testo formattato secondo la sintassi JSON, che diventa il valore della chiave Shape impostata per l’oggetto sessionStorage. Successivamente, ottiene il valore della chiave Shape deserializzandola nell’equivalente oggetto JavaScript mediante la funzione JSON.parse.

In conclusione, ricordiamo che lo spazio di memorizzazione dello storage, per origine, non dovrebbe superare i 5 MB e che tale valore è fornito dalla specifica solo come indicazione di massima. Inoltre, tra i browser non c’è uniformità di comportamento e, al superamento di limite, alcuni adattano lo storage conseguentemente, mentre altri sollevano un’eccezione di tipo QUOTA_EXCEEDED_ERR.
Precedente: OrCAD, un software per l'elettronica: come iniziare (2/2)
Successiva: Una macchina Enigma all'asta su Christie's
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.302 secondi.