In a previous post, I wrote of the advantages of HTML5 storage. In today’s post, I want to give an example of HTML5 local storage.
First let’s create the HTML…
[code lang=”html”]
<!– HTML to demonstrate HTML5 Local Storage –>
<p>
<!– Button to click that will invoke our counter function. –>
<button onclick="clickCounter()" type="button">Click me!</button>
</p>
<!– Div that will hold the result of clicking the counter button. –>
<div id="result"></div>
<!– Instructions. –>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter will continue to count (is not reset).</p>
[/code]
So to set the stage, we have an HTML button that once clicked, will invoke a function called clickCounter(). Let’s take a look at what clickCounter() does…
[code lang=”js”]
// Function demonstrate utilization of local storage
function clickCounter() {
// Test whether browser has HTML5 storage capability
if (typeof (Storage) !== "undefined") {
// Test to see if there is an HTML5 local storage variable key called clickcount
if (localStorage.clickcount) {
// Since the storage variable exists, let’s add one to the value and store it back in the local storage variable
// We are running the variable through the number funtion to ensure it is an integer
localStorage.clickcount = Number(localStorage.clickcount) + 1;
} else {
// The clickcount local storage variable does not exist, so we create it.
// This should only run the first time we run the program.
localStorage.clickcount = 1;
}
// Grab our result div and display the results pulled from local storage
document.getElementById("result").innerHTML = "You have clicked the button " + localStorage.clickcount + " time(s).";
} else {
// Display a message if the browser does not support HTML5 storage
document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage…";
}
}
[/code]
In the aforementioned code, we are testing for the availability of HTML5 storage. Next, we are checking to see if our variable exists in local storage. If it does, we add one to the value, otherwise, we create it.
Here are before and after screenshots…
Further, with HTML5 Local Storage, the variable values are saved from session to session. So if you close your browser, come back in and click the button, the count will pick up from where it last left off.
Happy Coding!
Clay