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) |