--- title: Window.sessionStorage slug: Web/API/Window/sessionStorage translation_of: Web/API/Window/sessionStorage ---
{{APIRef()}}
La proprietà sessionStorage permette di accedere all'oggetto di sessione {{domxref("Storage")}}. sessionStorage è simile a {{domxref("Window.localStorage")}}, l'unica differenza è che mentre i dati salvati in localStorage non hanno scadenza, i dati in sessionStorage vengono ripuliti ogniqualvolta la sessione della pagina termina. La sessione della pagina dura fino a quando il browser è aperto e sopravvive alla ricarica della pagina e al ripristino. L'apertura di una pagina in un nuovo tab o in una nuova finestra implica l'apertura di una nuova sessione, il che differisce da come funzionano i cookie di sessione.
Va ricordato che i dati memorizzati nel sessionStorage o localStorage sono specifici per il protocollo della pagina.
// Salva i dati nel sessionStorage
sessionStorage.setItem('key', 'value');
// Recupare i dati dal sessionStorage
var data = sessionStorage.getItem('key');
Un oggetto {{domxref("Storage")}}.
Il seguente esempio accede all'oggetto di sessione corrente {{domxref("Storage")}} e vi aggiunge un elemento tramite {{domxref("Storage.setItem()")}}.
sessionStorage.setItem('myCat', 'Tom');
Il seguente esempio salva automaticamente il contenuto di un campo di testo e se la pagina del browser viene ricaricata, ripristina il contenuto del campo di testo in modo da non perdere nessuna digitazione.
// Ottiene il campo di testo
var field = document.getElementById("field");
// Verifica se ha un valore di salvataggio automatico (autosave)
// (succederò solo se la pagina viene ricaricata accidentalmente)
if (sessionStorage.getItem("autosave")) {
// Ripristina il contenuto del campo di testo
field.value = sessionStorage.getItem("autosave");
}
// Rimane in ascolto di cambiamenti sul campo di testo
field.addEventListener("change", function() {
// E salva i risultati nell'oggetto sessionStorage
sessionStorage.setItem("autosave", field.value);
});
Nota: Fare riferimento a Using the Web Storage API per un esempio completo.
| Specifica | Stato | Comment |
|---|---|---|
| {{SpecName('Web Storage', '#the-sessionstorage-attribute', 'sessionStorage')}} | {{Spec2('Web Storage')}} |
{{ CompatibilityTable() }}
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| localStorage | 4 | 3.5 | 8 | 10.50 | 4 |
| sessionStorage | 5 | 2 | 8 | 10.50 | 4 |
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Supporto Base | 2.1 | {{ CompatUnknown }} | 8 | 11 | iOS 3.2 |
Ogni browser ha un livello di supporto differente per localStorage e sessionStorage.
Nota: da iOS 5.1, Safari Mobile salva i dati del localStorage nella directory cache, che è soggetta a pulizie occasinonali, tipicamente quando lo c'è poco spazio disponibile.