JS властивість Object.sessionStorage


Загальний опис

sessionStorage є властивістю об'єкта Window у мові програмування JavaScript. Цей метод використовується для збереження даних сеансу на стороні клієнта протягом одного сеансу роботи веб-сторінки. Власне кажучи, sessionStorage дозволяє зберігати дані таким чином, що вони доступні лише протягом часу життя одного сеансу, інтегруючись з об'єктом Window, який представляє вікно браузера чи фрейм.

Завдяки sessionStorage розробники можуть легко управляти даними в межах сесії без необхідності використання серверного сховища. Основна суть методу полягає в тому, щоб забезпечити тимчасове зберігання даних, які можуть бути використані на протязі відвідання сторінки користувачем.

Для використання sessionStorage в JavaScript розробникам слід мати на увазі, що дані, збережені за допомогою цього методу, не будуть доступні після закриття вкладки чи вікна браузера. Це робить sessionStorage ідеальним інструментом для тимчасового зберігання даних, таких як стан введення користувача або інші тимчасові параметри.

Приклад використання:

// Збереження даних у sessionStorage
sessionStorage.setItem('username', 'JohnDoe');

// Отримання даних з sessionStorage
const username = sessionStorage.getItem('username');
console.log(username); // Виведе 'JohnDoe'

// Видалення даних з sessionStorage
sessionStorage.removeItem('username');

У вищевказаному прикладі sessionStorage використовується для збереження інформації про ім'я користувача, і після виклику методу getItem дані можуть бути легко отримані та використані в коді.

Розгляньмо більш складний варіант використання sessionStorage. Наприклад, можна зберігати об'єкти або масиви, що відкриває ширші можливості для збереження складних даних.

// Збереження об'єкту у sessionStorage
const user = {
  name: 'John Doe',
  age: 25,
  isAdmin: false
};
sessionStorage.setItem('user', JSON.stringify(user));

// Отримання та розшифрування об'єкту з sessionStorage
const storedUser = JSON.parse(sessionStorage.getItem('user'));
console.log(storedUser); // Виведе об'єкт { name: 'John Doe', age: 25, isAdmin: false }

Цей приклад демонструє, як sessionStorage може бути використаний для зберігання складних об'єктів, причому дані конвертуються в рядок за допомогою JSON.stringify перед збереженням та розкодовуються з використанням JSON.parse при отриманні.

Таким чином, sessionStorage є потужним інструментом для роботи з тимчасовими даними в браузері, забезпечуючи ефективне управління і зберіганням інформації в межах сесії.

автор: Bond

Порада

Уникайте збереження чутливої інформації у sessionStorage, оскільки вона може бути доступна в інших вкладках.

автор: Bond
Порада

Використовуйте sessionStorage для обміну даними між сторінками. Передавайте значення ключів через сесійне сховище для спільного використання.

автор: Bond
Порада

Забезпечте безпеку та уникніть помилок, перевіряючи наявність ключів перед їх використанням:

if (`key` in sessionStorage) {
   // використання значення за ключем
} else {
   // обробка відсутності ключа
}
автор: Bond

Синтаксис

window.sessionStorage

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
4 2 4 10.5 12 8
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 3.2
Підтримка: серверні переглядачі
Переглядач Deno
1.10

Приклади

+ запропонувати свій приклад у пісочниці

Цей код демонструє використання sessionStorage для зберігання та витягування даних у сесії браузера. Користувач може взаємодіяти зі сторінкою, оновлюючи своє ім'я за допомогою кнопки.

автор: Bond

У цьому прикладі ми використовуємо sessionStorage, щоб зберегти ім'я користувача. Після оновлення сторінки або відкриття нової вкладки дані залишаються доступними, доки триває сесія. Важливо використовувати унікальні ключі, такі як "ім'я", для ідентифікації даних.

// Збереження даних в `sessionStorage`
const userName = "Користувач";
sessionStorage.setItem("`ім'я`", userName);

// Витягування даних з `sessionStorage` та виведення їх у консоль
const storedName = sessionStorage.getItem("`ім'я`");
console.log(`Вітаємо, ${storedName}!`);
автор: Bond

У цьому складнішому прикладі ми використовуємо sessionStorage, щоб зберегти та оновити об'єкт з покупками. Дані зберігаються між різними сторінками чи вкладками, дозволяючи користувачеві зберігати свій вибір продуктів упродовж сесії.

// Початковий стан
const initialCart = { "`продукт1`": 2, "`продукт2`": 1 };

// Збереження об'єкта в `sessionStorage`
sessionStorage.setItem("`корзина`", JSON.stringify(initialCart));

// Отримання та оновлення при додаванні нового продукту
const storedCart = JSON.parse(sessionStorage.getItem("`корзина`")) || {};
const newProduct = "`продукт3`";

if (storedCart[newProduct]) {
    storedCart[newProduct]++;
} else {
    storedCart[newProduct] = 1;
}

// Поновлення об'єкта у `sessionStorage`
sessionStorage.setItem("`корзина`", JSON.stringify(storedCart));

// Виведення оновленого об'єкта в консоль
console.log("Оновлена корзина:", storedCart);
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід