百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> HTMl5的存储方式sessionStorage和localStorage详解
分享文章到:

HTMl5的存储方式sessionStorage和localStorage详解

发布时间:09/01 来源:未知 浏览: 关键词:
这篇文章主要介绍了关于HTMl5的储备方式sessionStorage和localStorage详解,有着必然的参照 价值,此刻分享给大家,有需要的伴侣可以参照 一下

html5中的Web Storage包罗了两种储备方式:sessionStorage和localStorage。sessionStorage用于当地储备一个会话(session)中的数据,这些数据只要在统一个会话中的页面才能拜访并且当会话完毕后数据也随之烧毁 因此sessionStorage不是一种耐久化的当地储备,仅仅是会话级别的储备。而localStorage用于耐久化的当地储备,除非主动删除数据,不然数据是永久不会过期的。
一、web storage和cookie的不同
Web Storage的概念和cookie类似,不同是它是为了更大容量储备设计的。Cookie的大小是受限的,并且每次你恳求一个新的页面的时候Cookie都会被发送过去,这样无形中白费了带宽,别的cookie还需要指定作用域,不成以跨域调取。
除此之外,Web Storage具有setItem,getItem,removeItem,clear等办法,不像cookie需要前端开发者本人封装setCookie,getCookie。
但是Cookie也是不成以或缺的:Cookie的作用是与效劳器停止交互,作为HTTP标准的一部分而存在 ,而Web Storage仅仅是为了在当地“储备”数据而生(来自@otakustay 的纠正)
二、html5 web storage的阅读器支撑状况
阅读器的支撑除了IE7及以下不支撑外,其他标准阅读器都完全支撑(ie及FF需在web效劳器里运转),值得一提的是IE总是办妥事,例如IE7、IE6中的UserData其实就是javascript当地储备的解决方案。通过简便的代码封装可以统一到所有的阅读器都支撑web storage。
要推断阅读器可否支撑localStorage可以使用下面的代码:

复制代码

代码如下:

if(window.localStorage){
    alert("阅读支撑localStorage") 
}
else
{    
    alert("阅读暂不支撑localStorage") 
} 
//或者 if(typeof window.localStorage == 'undefined'){ alert("阅读暂不支撑localStorage") }


三、localStorage和sessionStorage操纵
localStorage和sessionStorage都具有雷同的操纵办法,例如setItem、getItem和removeItem等
localStorage和sessionStorage的办法:
setItem储备value
用处:将value储备到key字段
用途:.setItem( key, value)
代码示例:

复制代码

代码如下:

sessionStorage.setItem("key", "value");
localStorage.setItem("site", "js8.in");

getItem猎取value
用处:猎取指定key当地储备的值
用途:.getItem(key)
代码示例:

复制代码

代码如下:

var value = sessionStorage.getItem("key");  
var site = localStorage.getItem("site");

removeItem删除key
用处:删除指定key当地储备的值
用途:.removeItem(key)
代码示例:

复制代码

代码如下:

sessionStorage.removeItem("key");  
localStorage.removeItem("site");

clear清除所有的key/value
用处:清除所有的key/value
用途:.clear()
代码示例:

复制代码

代码如下:

sessionStorage.clear();  
localStorage.clear();

四、其他操纵办法:点操纵和[]
web Storage不单可以用本身的setItem,getItem等利便存取,也可以像一般对象一样用点(.)操纵符,及[]的方式停止数据储备,像如下的代码:

复制代码

代码如下:

var storage = window.localStorage; storage.key1 = "hello"; 
storage["key2"] = "world"; 
console.log(storage.key1); 
console.log(storage["key2"]);

五、localStorage和sessionStorage的key和length属性实现遍历
sessionStorage和localStorage供给的key()和length可以利便的实现储备的数据遍历,例如下面的代码:

复制代码

代码如下:

var storage = window.localStorage; 
for (var i=0, len = storage.length; i  <  len; i++)
{
    var key = storage.key(i);     
    var value = storage.getItem(key);     
    console.log(key + "=" + value); 
}

六、storage事件
storage还供给了storage事件,当键值改动或者clear的时候,就可以触发storage事件,如下面的代码就增加了一个storage事件改动的监听:

复制代码

代码如下:

if(window.addEventListener){  
    window.addEventListener("storage",handle_storage,false); 
}
else if(window.attachEvent)
{  
    window.attachEvent("onstorage",handle_storage); 
} 
function handle_storage(e){
    if(!e){e=window.event;}  
}

storage事件对象的详细属性如下表:

PropertyTypeDescription
keyStringThe named key that was added, removed, or moddified
oldValueAnyThe previous value(now overwritten), or null if a new item was added
newValueAnyThe new value, or null if an item was added
url/uriStringThe page that called the method that triggered this change
相关引荐:

HTML5所有标签汇总及标签意义说明


以上就是HTMl5的储备方式sessionStorage和localStorage详解的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板