HTML5 Web Storage
HTML5 web storage, a better local storage method than cookies.
What is HTML5 Web Storage?
Using HTML5, the user's browsing data can be stored locally.
Earlier, local storage used cookies. But Web storage needs to be more secure and fast. These data will not be saved on the server, but these data will only be used when users request website data. It can also store large amounts of data without affecting the performance of the website.
Data exists in key/value pairs, and the data of the web page is only allowed to be accessed and used by the web page.
localStorage and sessionStorage
There are two new objects for storing data on the client:
localStorage - data storage without time limit
sessionStorage - for A session's data storage
Before using web storage, you should check whether the browser supports localStorage and sessionStorage:
if(typeof(Storage)!=="undefined") { // Yes! localStorage and sessionStorage support! // Some code..... } else { // Sorry! No web storage support.. }
localStorage object
The data stored by the localStorage object has no time limit . The data is still available after the next day, week or year.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <div id="result"></div> <script> if(typeof(Storage)!=="undefined") { localStorage.lastname="Smith"; document.getElementById("result").innerHTML="Last name: " + localStorage.lastname; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; } </script> </body> </html>
Example analysis:
Use key="lastname" and value="Smith" to create a localStorage key/value pair
Retrieve the value with the key value "lastname" Then insert the data into the element with id="result"
Tips: Key/value pairs are usually stored as strings, and you can convert this format according to your needs.
The following example shows the number of times the user clicked the button. The string value in the code is converted to a numeric type:
<!DOCTYPE html> <html> <head> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (localStorage.clickcount) { localStorage.clickcount=Number(localStorage.clickcount)+1; } else { localStorage.clickcount=1; } document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s)."; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">点我</button></p> <div id="result"></div> <p>单击该按钮查看计数器增加.</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器将继续计数(不是重置)。</p> </body> </html>
sessionStorage object
sessionStorage method collects data for a session storage. The data is deleted when the user closes the browser window.
How to create and access a sessionStorage::
<!DOCTYPE html> <html> <head> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (sessionStorage.clickcount) { sessionStorage.clickcount=Number(sessionStorage.clickcount)+1; } else { sessionStorage.clickcount=1; } document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session."; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">Click me!</button></p> <div id="result"></div> <p>单击该按钮查看计数器增加.</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器将继续计数(不是重置)。</p> </body> </html>