58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: HTML5 Web Storage | ||
|  | --- | ||
|  | ## HTML5 Web Storage
 | ||
|  | 
 | ||
|  | Web storage allows web applications to store up to 5MB of information in browser storage per origin (per domain and protocol). | ||
|  | 
 | ||
|  | ### Types of Web Storage
 | ||
|  | 
 | ||
|  | There are two objects for storing data on the client: | ||
|  | 
 | ||
|  | `window.localStorage`: stores data with no expiration date and lives until removed. | ||
|  | 
 | ||
|  | ```javascript | ||
|  | // Store Item | ||
|  | localStorage.setItem("foo", "bar"); | ||
|  | 
 | ||
|  | // Get Item | ||
|  | localStorage.getItem("foo"); //returns "bar" | ||
|  | ``` | ||
|  | 
 | ||
|  | `window.sessionStorage`: stores data for one session, where data is lost when the browser / browser tab is closed. | ||
|  | 
 | ||
|  | ```javascript | ||
|  | // Store Item | ||
|  | sessionStorage.setItem("foo", "bar"); | ||
|  | 
 | ||
|  | // Get Item | ||
|  | sessionStorage.getItem("foo"); //returns "bar" | ||
|  | ``` | ||
|  | 
 | ||
|  | Since the current implementation only supports string-to-string mappings, you need to serialize and de-serialize other data structures.  | ||
|  | 
 | ||
|  | You can do so using JSON.stringify() and JSON.parse(). | ||
|  | 
 | ||
|  | For e.g. for the given JSON | ||
|  | 
 | ||
|  | ``` | ||
|  | var jsonObject = { 'one': 1, 'two': 2, 'three': 3 }; | ||
|  | ``` | ||
|  | 
 | ||
|  | We first convert the JSON object to string and save in the local storage: | ||
|  | 
 | ||
|  | ``` | ||
|  | localStorage.setItem('jsonObjectString', JSON.stringify(jsonObject)); | ||
|  | ``` | ||
|  | 
 | ||
|  | To get the JSON object from the string stored in local storage: | ||
|  | ``` | ||
|  | var jsonObject = JSON.parse(localStorage.getItem('jsonObjectString')); | ||
|  | ``` | ||
|  | 
 | ||
|  | #### More Information:
 | ||
|  | 
 | ||
|  | <a href='https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage' target='_blank' rel='nofollow'>MDN</a> | ||
|  | <a href='https://www.html5rocks.com/en/features/storage' target='_blank' rel='nofollow'>HTML5 Rocks</a> | ||
|  | <a href='https://www.w3schools.com/html/html5_webstorage.asp' target='_blank' rel='nofollow'>W3 Schools</a> |