html5 笔记8 web storage

1、在webStorage之前,远程服务器需要存储客户端和服务器间交互所使用的所有相关数据;而使用webStorage,只要将需要跨请求重复访问的数据直接存储在客户端的浏览器中,这样可以快速回复数据,减小网络流量。

2、webStorage 和cookie:
cookie的大小受限(4kb),不能存储大点的数据;只要有请求设计到cookie,cookie就会在服务端和客户端之间来回的传送,消耗网络带宽。
webStorage是将数据存储在js对象中,对象在页面加载的时候保存,并且容易获取。通过使用sessionStorage或localStorage,在打开新窗口或新标签页或重启浏览器时,可以选择是否激活这些数据。

3、检测浏览器的支持性
特定域下storage数据库可直接利用window对象访问,因此,确定用户的浏览器是否支持webStorage,只要检查它是否存在window.localStorage或window.sessionStorage就行了。

function checkStorageSupport() {

    //sessionStorage
    if (window.sessionStorage) {
      alert('This browser supports sessionStorage');

      //Do something with sessionStorage
      window.sessionStorage.mySessionKey = 'Session example';
      alert(window.sessionStorage.mySessionKey);

    } else {
      alert('This browser does NOT support sessionStorage');
    }

    //localStorage
    if (window.localStorage) {
      alert('This browser supports localStorage');

      //Do something with localStorage
      window.localStorage.myLocalKey = 'Local example';
      alert(window.localStorage.myLocalKey);

    } else {
      alert('This browser does NOT support localStorage');
    }
  }

4、sessionStorage

设置:window.sessionStorage.setItem("a", "b");  或  window.sessionStorage.a = "b"
获取:window.sessionStorage.getItem("a");   或   window.sessionStorage.a
设置和获取的调用不必出现在同一个网页中,只要网页时同源的,基于相同的键,就可以获得设置在sessionStorage上的数据。

设置在sessionStorage上的对象,只要浏览器或标签没关闭就会一直存在,关闭后sessionStorage数据就会被清除。sessionStorage适合用在短时存在的流程中,同时又可以在多个页面中共享的数据。

5、localStorage与sessionStorage

localStorage在使用上和sessionStorage是一样的,不同的事它们的生命周期和它们的共享方式。localStorage的生命周期比窗口货浏览器的生命期长,并且数据是可以被同源的窗口和标签所共享(和cookie类似了);seesionStorage的生命周期是在窗口货标签关闭后死亡,并且它的值只在构建它的窗口或标签内可见。
localStorage是持久化的本地存储,数据时永远不会过期的;seesionStorage是本地存储的一个会话中的数据,会话级别的。


6、更新web storage后的通知

html5内建了一套事件通知机制,可以将数据更新通知发给感兴趣的监听者,无论监听窗口是否存储过数据,与执行存储操作的窗口同源的每个窗口的对象上都会触发web storage事件。

window.addEventListener("xxstorage", event, true);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值