本地存储是 HTML5 的一部分,用于方便地从页面存储本地数据。它包括 localStorage 和 sessionStorage 两种:前者保存的数据可以一直保存,除非清除浏览器缓存;而后者保存的数据在关闭浏览器后即失效。
本地存储 IE 8.0+,Firefox 3.5+,Chrome4.0+,Safari 4.0+ 和 Opera 10.5+ 都支持。使用方式也很简单:
if (window.localStorage){ // set item localStorage.key1 = 'value1'; localStorage['key2'] = 'value2'; localStorage.setItem('key3', 'value3'); // get item var a = localStorage.key1; var b = localStorage['key2']; var c = localStorage.getItem('key3'); // delete item localStorage.removeItem('key'); // clear all items localStorage.clear(); }
本地存储只能储存字符串数据,因此在存取其它类型的数据需要进行转换。另外有些浏览器(例如 IE 9 和 Firefox 6)对本地打开的网页禁用了本地存储。
参考资料:
[1] Web Storage - W3C
[2] DOM Storage - MDN
[3] Web Storage Support Test
[4] Local Storage - Dive Into HTML5
[5] 八一下LocalStorage本地存储的卦 | Tencent AlloyTeam
[6] JavaScript本地存储实践(html5的localStorage和ie的userData)
[7] html5客户端本地存储之sessionStorage及storage事件
[8] localStorage.setItem not persisting on refresh - stackoverflow
[9] local storage in IE9 fails when the website is accessed directly from the file system
[A] Bug 507361 - localStorage doesn't work in file:/// documents