原生js--客户端存储的种类

客户端存储遵循同源策略,不同的站点页面之间不可以相互读取对方的数据,但同一站点的不同页面之间可以共享存储的数据

客户端存储的种类:

1、web存储

  localStorage、sessionStorage

2、cookie

3、userData(IE)

4、web数据库(尚未标准化)

  索引数据库API(indexed Database API)

5、文件系统API

  用于将文件通过XHR上传到服务器

 

主要看了localStorage和sessionStorage

区别:

  1、存储的有效期。localStorage为永久存储,除非用户手动删除;sessionStorage为会话存储,页面关闭之后就消失。

  2、作用域:localStorage限定在文件源的级别,只要是同源的页面,都可以共享数据;sessionStorage只能再窗口级别共享数据(窗口为顶级窗口,顶级窗口和子窗口之间可以共享sessionStorage的数据)。

API:

  setItem(“x”, 1)// 设置

  getItem(“x”)// 获取

  remoItem(“x”)// 删除

  clear()// 删除全部

  key(i) // 获取第i个数据的key

存储事件:

  使用localStorage存储数据时,在当前页面存储,会在其他同源页面中触发存储事件(只有存储数据真正发生变化时才会被触发)

  注册存储事件可以使用addEventListener或attachEvent的方法(绝大多数浏览器还可以使用onstorage的方法,但firefox不支持)

事件对象:(IE8不支持)

  key // 被设置或移除的项的键,如果是调用的clear,则该值为null

  newValue // 保存该项的新值,如果是删除,则该值为null

  oldValue // 改变之前的值,如果是新项,则该值为null

  storageArea // localStorage、sessionStorage等

  url // 触发该存储事件的文档url

posted @ 2014-03-05 09:31  charling  阅读(1185)  评论(0编辑  收藏  举报