54 lines
2.3 KiB
Markdown
54 lines
2.3 KiB
Markdown
|
---
|
|||
|
title: HTML5 Web Storage
|
|||
|
localeTitle: Веб-хранилище HTML5
|
|||
|
---
|
|||
|
## Веб-хранилище HTML5
|
|||
|
|
|||
|
Хранилище веб-сайтов позволяет веб-приложениям хранить до 5 МБ информации в хранилищах браузеров на каждый источник (на домен и протокол).
|
|||
|
|
|||
|
### Типы веб-хранилища
|
|||
|
|
|||
|
Для хранения данных на клиенте есть два объекта:
|
|||
|
|
|||
|
`window.localStorage` : хранит данные без даты истечения срока действия и до тех пор, пока не будет удален.
|
|||
|
|
|||
|
```javascript
|
|||
|
// Store Item
|
|||
|
localStorage.setItem("foo", "bar");
|
|||
|
|
|||
|
// Get Item
|
|||
|
localStorage.getItem("foo"); //returns "bar"
|
|||
|
```
|
|||
|
|
|||
|
`window.sessionStorage` : сохраняет данные за один сеанс, где данные теряются, когда вкладка браузера / браузера закрыта.
|
|||
|
|
|||
|
```javascript
|
|||
|
// Store Item
|
|||
|
sessionStorage.setItem("foo", "bar");
|
|||
|
|
|||
|
// Get Item
|
|||
|
sessionStorage.getItem("foo"); //returns "bar"
|
|||
|
```
|
|||
|
|
|||
|
Поскольку текущая реализация поддерживает только привязки строк к строкам, вам необходимо сериализовать и де-сериализовать другие структуры данных.
|
|||
|
|
|||
|
Вы можете сделать это с помощью JSON.stringify () и JSON.parse ().
|
|||
|
|
|||
|
Например, для данного JSON
|
|||
|
```
|
|||
|
var jsonObject = { 'one': 1, 'two': 2, 'three': 3 };
|
|||
|
```
|
|||
|
|
|||
|
Сначала мы конвертируем объект JSON в строку и сохраняем в локальном хранилище:
|
|||
|
```
|
|||
|
localStorage.setItem('jsonObjectString', JSON.stringify(jsonObject));
|
|||
|
```
|
|||
|
|
|||
|
Чтобы получить объект JSON из строки, хранящейся в локальном хранилище:
|
|||
|
```
|
|||
|
var jsonObject = JSON.parse(localStorage.getItem('jsonObjectString'));
|
|||
|
```
|
|||
|
|
|||
|
#### Дополнительная информация:
|
|||
|
|
|||
|
[MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) [Скалы HTML5](https://www.html5rocks.com/en/features/storage) [W3 Школы](https://www.w3schools.com/html/html5_webstorage.asp)
|