JavaScript sessionStorage — сховище на час вкладки
sessionStorage зберігає дані до закриття вкладки. Той самий інтерфейс, що й у localStorage, але інший час життя.
Загальний опис
Ключова відмінність — кожна вкладка має власне сховище. Відкрив той самий сайт у двох вкладках — це два незалежні сховища, які нічого не знають одне про одне.
Звідси й застосування: чернетка форми, крок майстра, стан фільтрів — усе, що логічно належить цьому сеансу роботи, а не користувачу назавжди.
Перезавантаження сторінки дані переживають — зникають вони лише разом із вкладкою.
автор: NagarD
- Порада
-
Багатокроковий майстер зручно тримати саме тут: користувач може заповнювати дві різні заявки у двох вкладках, і вони не переплутаються.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| sessionStorage | 4+ | 3.5+ | 4+ | 10.5+ | 12+ | 8+ |
| Переглядач | ||||
|---|---|---|---|---|
| sessionStorage | yes | yes | yes | yes |
Приклади
+ запропонувати свій приклад у пісочниці
Чернетка форми, що переживає перезавантаження, але не закриття вкладки.
HTML
<textarea id="draft"></textarea>
<div id="demo-form">Демонстраційний елемент</div>
JS
const form = document.getElementById('demo-form');
const draft = document.getElementById('draft');
// відновлюємо після перезавантаження
draft.value = sessionStorage.getItem('draft') ?? '';
draft.addEventListener('input', () => {
sessionStorage.setItem('draft', draft.value);
});
// надіслали — чернетка більше не потрібна
form.addEventListener('submit', () => {
sessionStorage.removeItem('draft');
});
Коментарі
Коментарів ще немає — будьте першим!