aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/web/api/window/sessionstorage/index.html
blob: b387b8af5b8cd3730642cee841ec2a533c3a83fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
---
title: Window.sessionStorage
slug: Web/API/Window/sessionStorage
tags:
  - Armazenamento
  - Propriedade
  - Referencia
  - Sessão
translation_of: Web/API/Window/sessionStorage
---
<p>{{APIRef()}}</p>

<p>A propriedade <code>sessionStorage</code> permite acessar um objeto tipo session {{domxref("Storage")}}. A sessionStorage é similar ao <a href="/en-US/docs/Web/API/Window.localStorage"><code>localStorage</code></a>, a única diferença é que enquanto os dados armazenados no <code>localStorage</code> 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. <strong>Abrir a página em uma nova aba ou nova janela irá gerar uma nova sessão, </strong>o que diferencia de como os cookies trabalham<strong>.</strong></p>

<h2 id="Sintaxe">Sintaxe</h2>

<pre class="brush: js">// Salva os dados na sessionStorage
sessionStorage.setItem('chave', 'valor');

// Obtém os dados da sessionStorage
var data = sessionStorage.getItem('chave');</pre>

<h3 id="Valor">Valor</h3>

<p>Objeto {{domxref("Storage")}}.</p>

<h2 id="Exemplo">Exemplo</h2>

<p>O seguinte trecho acessa o objeto da sessão do domínio atual {{domxref("Storage")}} e adiciona um item usando o {{domxref("Storage.setItem()")}}.</p>

<pre class="brush: js">sessionStorage.setItem('myCat', 'Tom');</pre>

<p>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.</p>

<pre class="brush: js">// 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);
});</pre>



<div class="note">
<p><strong>Nota</strong>: Por favor use o artigo <a href="/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API">Using the Web Storage API</a> para um exemplo completo.</p>
</div>

<h2 id="Especificações">Especificações</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Especificações</th>
   <th scope="col">Status</th>
   <th scope="col">Comentários</th>
  </tr>
  <tr>
   <td>{{SpecName('Web Storage', '#the-sessionstorage-attribute', 'sessionStorage')}}</td>
   <td>{{Spec2('Web Storage')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatíveis">Browser compatíveis</h2>

<p>{{ CompatibilityTable() }}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari (WebKit)</th>
  </tr>
  <tr>
   <td>localStorage</td>
   <td>4</td>
   <td>3.5</td>
   <td>8</td>
   <td>10.50</td>
   <td>4</td>
  </tr>
  <tr>
   <td>sessionStorage</td>
   <td>5</td>
   <td>2</td>
   <td>8</td>
   <td>10.50</td>
   <td>4</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Phone</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>2.1</td>
   <td>{{ CompatUnknown }}</td>
   <td>8</td>
   <td>11</td>
   <td>iOS 3.2</td>
  </tr>
 </tbody>
</table>
</div>

<p>Cada browser tem o seu nível de capacidade de armazenamento para localStorage e sessionStorage. Aqui está um <a href="http://dev-test.nemikor.com/web-storage/support-test/">teste detalhado de toda a capacidade de armazenamento de vários browsers</a>.</p>

<div class="note">
<p><strong>Nota: </strong>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.</p>
</div>

<h2 id="Veja_também">Veja também</h2>

<ul>
 <li><a href="/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API">Using the Web Storage API</a></li>
 <li><a href="/en-US/docs/Web/API/Window.localStorage">Window.localStorage</a></li>
</ul>