--- title: Window.sessionStorage slug: Web/API/Window/sessionStorage translation_of: Web/API/Window/sessionStorage ---
{{APIRef()}}
Свойство sessionStorage
позволяет получить доступ к объекту {{domxref("Storage")}} текущей сессии. Свойство sessionStorage очень похоже на свойство {{domxref("Window.localStorage")}}, единственное различие заключается в том, что все данные, сохранённые в localStorage не имеют определённого времени жизни, а данные в sessionStorage очищаются в момент окончания сессии текущий страницы. Сессия страницы остаётся активной все время пока окно браузера открыто и сохраняется между перезагрузками страниц. Открытие той же страницы в новом окне браузера или новой вкладке приводит к созданию новой сессии страницы, что отличается от поведения session cookies.
// Сохранение данных в sessionStorage sessionStorage.setItem('key', 'value'); // Получение данных из sessionStorage var data = sessionStorage.getItem('key');
Объект типа {{domxref("Storage")}}.
Следующий код получает доступ к объекту {{domxref("Storage")}} текущей сессии домена и добавляет данные в него используя {{domxref("Storage.setItem()")}}.
sessionStorage.setItem('myCat', 'Tom');
Следующий пример автоматически сохраняет содержимое текстового поля. Если страница случайно будет обновлена значение текстового поля будет восстановлено. Таким образом ничего из введённого пользователем не потеряется даже в этом случае.
// Получаем ссылку на текстовое поле, // изменение которого будем отслеживать. var field = document.getElementById("field"); // Проверяем наличие значения 'autosave' // (это может произойти только если страница будет случайно обновлена) if (sessionStorage.getItem("autosave")) { // Восстанавливаем содержимое текстового поля field.value = sessionStorage.getItem("autosave"); } // Отслеживаем все изменения в текстовом поле field.addEventListener("change", function() { // И сохраняем их в объект session storage sessionStorage.setItem("autosave", field.value); });
Замечание: Обратитесь к статье Using the Web Storage API, чтобы изучить полный пример.
Спецификация | Статус | Замечание |
---|---|---|
{{SpecName('Web Storage', '#the-sessionstorage-attribute', 'sessionStorage')}} | {{Spec2('Web Storage')}} |
{{ CompatibilityTable() }}
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
localStorage | 4 | 3.5 | 8 | 10.50 | 4 |
sessionStorage | 5 | 2 | 8 | 10.50 | 4 |
Возможность | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | 2.1 | {{ CompatUnknown }} | 8 | 11 | iOS 3.2 |
Все браузеры имеют разный уровень поддержки как localStorage так и sessionStorage. Здесь вы можете посмотреть detailed rundown of all the storage capacities for various browsers.
Замечание: начиная с iOS 5.1, Safari Mobile сохраняет данные из localStorage в специальную папку, которая может быть случайно очищена по просьбе системы, обычно это происходит, когда заканчивается место.