Skip to content

Instantly share code, notes, and snippets.

@seungjin
Created November 21, 2010 20:38
Show Gist options
  • Save seungjin/709122 to your computer and use it in GitHub Desktop.
Save seungjin/709122 to your computer and use it in GitHub Desktop.
localStorage and sessionStorage test
<html>
<head>
</head>
<body>
<pre>
localStorage:
used for long-term storage. This data persists after the window is closed and is shared across all browser windows.
localStorage.setItem(key,value);
localStorage.getItem(key);
localStorage.clear();
localStorage.length;
localStorage.removeItem(key);
sessionStorage:
used for ephemeral data related to a single browser window. Data stored in the sessionStorage object does not persist after the window is closed and is not shared with other windows.
sessionStorage.setItem(key,value);
sessionStorage.getItem(key);
sessionStorage.clear();
sessionStorage.length;
sessionStorage.removeItem(key);
If a new browser window is created when the user clicks a link, that new window gets a copy of the sessionStorage object as it exists at the time the window is created. The data is copied, not shared, however, so future changes made by either page are not reflected in the session storage for the other page.
</pre>
<script type="text/javascript">
/* StorageEvent
only in safari for now? not sure
DOES NOT WORK SAFARI AND FF.. WHAT!!!!!??????
*/
function storageEventHandler(e){
var logged = "key:" + e.key + ", newValue:" + e.newValue + ", oldValue:" + e.oldValue +", url:" + e.url + ", Storage Area: " + e.storageArea;
console.log(logged);
}
window.addEventListener('sessionStorage', storageEventHandler, true);
var showAllLocalStorage = function() {
for (i=0;i<=localStorage.length-1;i++) {
key = localStorage.key(i);
pairs = localStorage.getItem(key);
console.log(key + " : " + pairs)
};
};
var showAllSessionStorage = function() {
for (i=0;i<=sessionStorage.length-1;i++) {
key = sessionStorage.key(i);
pairs = sessionStorage.getItem(key);
console.log(key + " : " + pairs)
};
};
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment