La propiedad sessionStorage
permite acceder a un objeto Storage
asociado a la sesión actual. La propiedad sessionStorage es similar a localStorage
, la única diferencia es que la información almacenada en localStorage no posee tiempo de expiración, por el contrario la información almacenada en sessionStorage es eliminada al finalizar la sesion de la página. La sesión de la página perdura mientras el navegador se encuentra abierto, y se mantiene por sobre las recargas y reaperturas de la página. Abrir una página en una nueva pestaña o ventana iniciará una nueva sesión, lo que difiere en la forma en que trabajan las cookies de sesión.
Sintaxis
// Almacena la información en sessionStorage sessionStorage.setItem('key', 'value'); // Obtiene la información almacenada desde sessionStorage var data = sessionStorage.getItem('key');
Valor
Un objeto de tipo Storage
.
Ejemplo
El siguiente código accede al objeto Storage
del la sesión actual del domino y le añade un elemento utilizando Storage.setItem()
.
sessionStorage.setItem('myCat', 'Tom');
El siguiente ejemplo graba de forma automática el contenido de un campo de texto, y si el navegador es actualizado accidentalmente, restaura el contenido del campo de texto para no perder lo escrito.
// Obtiene el campo de texto que vamos a moniterear var field = document.getElementById("field"); // Verificamos si tenemos algún valor auto guardado // (esto solo ocurrirá si la página es recargada accidentalmente) if (sessionStorage.getItem("autosave")) { // Restaura el contenido al campo de texto field.value = sessionStorage.getItem("autosave"); } // Espera por cambios en el campo de texto field.addEventListener("change", function() { // Almacena el resultado en el objeto de almacenamiento de sesión sessionStorage.setItem("autosave", field.value); });
Nota: Por favor diríjase al artículo Usando la API de Web Storage para un ejemplo completo.
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
Web Storage (Second edition) The definition of 'sessionStorage' in that specification. |
Recommendation |
Compatibilidad con navegadores
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
localStorage | 4 | 3.5 | 8 | 10.50 | 4 |
sessionStorage | 5 | 2 | 8 | 10.50 | 4 |
Característica | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Soporte básico | 2.1 | ? | 8 | 11 | iOS 3.2 |
Todos los navegadores tienen distintos niveles de capacidad para localStorage y para sessionStorage. Aquí encontraras un resumen detallado de todas las capacidades de almacenamiento para diversos navegadores.
Nota: desde iOS 5.1, Safari Mobile almacena los datos de localStorage en un directorio de cache, el cual esta sujeto a limpezas ocacionales, por orden del sistema operativo, generalmente si el espacio es reducido.