JS 中除cookie存储外,还有哪些存储方式?

IE提供了一种存储可以持久化用户数据,叫做userData,从IE5.0就开始支持。每个数据最多128K,每个域名下最多1M。这个持久化数据存放在缓存中,如果缓存没有清理,那么会一直存在。

 

 

addEvent(window, 'load', function () {

var box = document.getElementById('box');

box.setAttribute('name', encodeURIComponent('李炎恢'));

box.save('bookinfo');

 

//box.removeAttribute('name');//删除userDate

//box.save('bookinfo');

 

box.load('bookinfo');

alert(decodeURIComponent(box.getAttribute('name')));

});

 

PS:这个数据文件也是保存在cookie目录中,只要清除cookie即可。如果指定过期日期,则到期后自动删除,如果没有指定就是永久保存。

 

Web存储

在比较高版本的浏览器,JavaScript提供了sessionStorageglobalStorage。在HTML5中提供了localStorage来取代globalStorage。而浏览器最低版本为:IE8+Firefox3.5+Chrome 4+Opera10.5+

 

PS:由于这三个对浏览器版本要求较高,我们就只简单的在Firefox了解一下,有兴趣的可以通过关键字搜索查询。

 

//通过方法存储和获取

sessionStorage.setItem('name', '李炎恢');

alert(sessionStorage.getItem('name'));

 

//通过属性存储和获取

sessionStorage.book = '李炎恢';

alert(sessionStorage.book);

 

//删除存储

sessionStorage.removeItem('name');

 

PS:由于localStorage代替了globalStorage,所以在FirefoxOperaChrome目前的最新版本已不支持。

 

//通过方法存储和获取

localStorage.setItem('name', '李炎恢');

alert(localStorage.getItem('name'));

//通过属性存储和获取

localStorage.book = '李炎恢';

alert(localStorage.book);

//删除存储

localStorage.removeItem('name');

 

PS:这三个对象都是永久保存的,保存在缓存里,只有手工删除或者清理浏览器缓存方可失效。在容量上也有一些限制,主要看浏览器的差异,Firefox3+IE8+Opera5M,,ChromeSafari2.5M

你可能感兴趣的:(JS 中除cookie存储外,还有哪些存储方式?)