Web存储即在客户端存储数据。
在没有Web Storage之前,是通过cookie来在客户端存储数据的。但是由于
因此cookie不适合大量数据的存储。相比用Web Storage更适合存储大量数据:
包括localStorage和sessionStorage。他们都只能读写当前域的数据,区别是,localStorage存储的数据不会过期,sessionStorage存储的数据每次关闭浏览器后都会被清空。
ps:
localStorage和sessionStorage的api是一样的。这里以localStorage为例
/*
* value会被调用 .toString方法转化成字符串。因此,如果要储存的对象,调用JSON.stringify(obj)来序列化成字符串
*/
localStorage.setItem('key', 'value');
localStorage.getItem('key');
localStorage.key(index);//localStorage数组中下标是index的key
localStorage.removeItem('key');//删除某一个localStorage
localStorage.clear();//清空所有localStorage
var output = "LOCALSTORAGE DATA:\n------------------------------------\n";
if (window.localStorage) {
if (localStorage.length) {
for (var i = 0; i < localStorage.length; i++) {
output += localStorage.key(i) + ': ' + localStorage.getItem(localStorage.key(i)) + '\n';
}
} else {
output += 'There is no data stored for this domain.';
}
} else {
output += 'Your browser does not support local storage.'
}
console.log(output);
IE8+,Firefox 28.0+,chrome 33.0+,Safari 7.0+。更多支持的浏览器见 http://caniuse.com/#search=Storage
ps:更多html5相关的知识见 http://iamjoel.github.io/learn-html5/