合买大神
网站首页 网站建设 公司动态 行业新闻 案例展示 关于我们

文章内容

html5客户端本地存储之sessionStorage及storage事件

日期:2013-11-23  来源:攀枝花惠康网络公司

首先您可以看一下《JavaScript当地存储实践(html5的localStorage和ie的userData)》
sessionStorage和上文中提到的localStorage很是体味,体例也几乎一样:

很是通俗易懂的接口:

  • sessionStorage.getItem(key):获取指定key当地存储的值
  • sessionStorage.setItem(key,value):将value存储到key字段
  • sessionStorage.removeItem(key):删除指定key当地存储的值
  • sessionStorage.length是sessionStorage的项目数

直接上demo:http://www.css88.com/demo/sessionStorage/

sessionStorage与 localStorage 的异同

sessionStorage 和 localStorage 就一个分歧的处所, sessionStorage数据的存储仅特定于某个会话中,也就是说数据只连结到浏览器封锁,当浏览器封锁后年夜头打开这个页面时,之前的存储已经被断根。而 localStorage 是一个持久化的存储,它并不局限于会话。

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

sessionStorage 和 localStorage的clear()函数的用于清空同源的当地存储数据,好比localStorage.clear(),它将删除所有同源的当地存储的localStorage数据,而对于Session Storage,它只清空当前会话存储的数据。

var storage = window.localStorage;
for (var i=0, len = storage.length; i < len; i++){
var key = storage.key(i);
var value = http://www.css88.com/archives/storage.getItem(key);
console.log(key + "=" + value);
}

sessionStorage 和 localStorage具有不异的体例storage事务,在存储事务的措置函数中是不能打消这个存储动作的。存储事务只是浏览器在数据转变发生之后给你的一个通知。当setItem(),removeItem()或者clear() 体例被挪用,而且数据真的发生了改变时,storage事务就会被触发。注重这里的的前提是数据真的发生?#20439;?#21464;。也就是说,如不美观当前的存储区域是空的,你再去挪用clear()是不会触发事务的。或者你经由过程setItem()来设置一个与现有值不异的值,事务也是不会触发的。当存储区域发生改变?#26412;?#20250;被触发,这其中包含良多有用的属性:

  • storageArea: 暗示存储类型(Session或Local)
  • key:发生改变项的key
  • oldValue: key的原值
  • newValue: key的新值
  • url*: key改变发生的URL
  • * 注重: url 属性早期的规范?#24418;猽ri属性。?#34892;?#27983;览器发布较早,没有包含这一变换。为兼容性考虑,使用url属性前,你应该先搜检它是否存在,如不美观没有url属性,则应该使用uri属性
    如不美观挪用clear()体例,那么key、oldValue和newValue城市被设置为null。
    PS.在firefox和chrome中存储和篡夺都是正常的, 可是对storage事务的触发似乎有点问题, 自身页面进行setItem后没有触发window的storage事务, 可是同时访谒A.html和B.html, 在A页面中进行 setItem能触发B页面中window的storage事务, 同样的在B页面中进行setItem能触发A页面中window的storage事务. 在IE9中, 页面自身的设?#30340;?#35302;发当前页面的storage事务,同样当前页面的设?#30340;?#35302;发统一”发源”下其他页面window的storage事务,这看起来似乎更让人想的通些.

    直接上demo,同事打开这两个页面(代码一模一样):

    封锁页面会导致 sessionStorage 的数据被断根,但刷新或年夜头打开新页面数据仍是存在,如不美观需要存储的只是少?#24247;墓们?#25968;据。我们可以使用sessionStorage 。或者做页面间的小?#25442;ァ?/p>

    http://www.css88.com/demo/sessionStorage/index2.html

    http://www.css88.com/demo/sessionStorage/index3.html

    ?#34892;?#24863;动:Mr.Prime在storage事务上给以的辅佐,此外举荐一下他写的关于storage的博文:http://www.cnblogs.com/AndyWithPassion/archive/2011/07/04/html5_localstorage.html

    文章来源:攀枝花惠康网络公司

    惠康网络,是一?#26131;?#19994;从事攀枝花网站建设,攀枝花网站制作,攀枝花网站设计公司,提供网站建设一条龙服务(网站域名注册+网站服务器租用+网站开发+网站维护+网站营销推广),惠康网络立足攀枝花,辐射全中国,攀枝花惠康网络的客户已经遍布国内各地大?#34892;?#22478;市,我们高效优质的网站建设服务深受用户好评。

客服?#35748;擼?img src="skin/images/tel.png" alt="tel" height="15" width="84" style="vertical-align:middle;">(谢先生)  客服QQ:1323605005  
服务邮箱:[email protected](售前咨询)  [email protected](技术部)  [email protected](售后服务)
公司地址:四川省攀枝花市
?#26102;啵?/span>617200

合买大神 切沃vs罗马 能试玩pt电子 热血传奇官方下载 昆虫派对闯关 皇家社会皇马 时时三分彩计划手机版 nba森林狼队球员名单 维戈塞尔塔西甲排名 波斯波利斯浮雕 皇家社会vs莱加内斯直播