A propriedade sessionStorage
permite acessar um objeto tipo session Storage
. A sessionStorage é similar ao localStorage
, a única diferença é que enquanto os dados armazenados no localStorage não expiram, os dados no sessionstorage tem os seus dados limpos ao expirar a sessão da página. A sessão da página dura enquanto o browser está aberto e se mantém no recarregamento da página. Abrir a página em uma nova aba ou nova janela, irá gerar uma nova sessão, o que diferencia de como os cookies trabalham.
Sintaxe
// Salva os dados na sessionStorage sessionStorage.setItem('chave', 'valor'); // Obtém os dados da sessionStorage var data = sessionStorage.getItem('chave');
Valor
Objeto Storage
.
Exemplo
O seguinte trecho acessa o objeto da sessão do domínio atual Storage
e adiciona um item usando o Storage.setItem()
.
sessionStorage.setItem('myCat', 'Tom');
O exemplo a seguir salva automaticamente o conteúdo da caixa de texto, e caso o browser seja acidentalmente recarregado, o conteúdo da caixa de texto é restaurado.
// Obtem a caixa de texto que vamos rastrear var field = document.getElementById("campo"); // Se tivermos um valor salvo automaticamente // (isto só ocorrerá se a página for acidentalmente recarregada) if (sessionStorage.getItem("autosave")) { // Restaura o conteúdo da caixa de texto field.value = sessionStorage.getItem("autosave"); } // Verifica as mudanças que ocorrem na caixa de texto field.addEventListener("change", function() { // E salva o resultado dentro de um objeto session storage sessionStorage.setItem("autosave", field.value); });
Nota: Por favor use o artigo Using the Web Storage API para um exemplo completo.
Especificações
Especificações | Status | Comentários |
---|---|---|
Web Storage The definition of 'sessionStorage' in that specification. |
Recommendation |
Browser compatíveis
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 |
---|---|---|---|---|---|
Basic support | 2.1 | ? | 8 | 11 | iOS 3.2 |
Cada browser tem o seu nível de capacidade de armazenamento para localStorage e sessionStorage. Aqui está um teste detalhado de toda a capacidade de armazenamento de vários browsers.
Nota: desde o iOS 5.1, Safari Mobile armazena os dados do localStorage em uma pasta de cache, o que está sujeito a ocasionalmente ser limpa, de acordo com o SO, se houver pouco espaço.