Html5之高级-13 Web存储API (两个存储系统、sessionStorage、localStorage)

一、两个存储系统

两个存储系统

- 万维网最初的设想,是作为展示信息的一种方式。信息处理是后来才出现的,但是Web的实质并没有变---信息在服务器上处理,然后显示给用户。因为系统没有利用计算机资源,所以复杂操作都是在服务器上完成的

- 对于任何程序来说,能够实现数据存储是必备功能之一,并且在需要的时候能够提供数据。但在过去的Web用户端,没有能够支持数据存储的有效机制

- cookie曾用来在客户端存储少量信息,但受其性质所限,cookie只能存储一些短的字符串

- 在 HTML5中提供了 Web 存储 API,它是在cookie之上的增强。这个API允许我们在用户的硬盘上存储。并在日后使用这些数据。

- 这个API 可以分成两个部分:

- 信息必须且只在会话过程中使---sessionStorage

- 信息必须长期保存且由用户决定时长---localStorage

二、sessionStorage

sessionStorage概述

- sessionStorage这部分API就像是会话cookie的替代。cookie以及sessionStorage都是在特定的时间段内保持数据可用。但cookie使用浏览器作为引用,而sessionStorage使用单个窗口作为引用,这就意味着,窗口关闭之后,sessionStorage就不能再使用。

创建数据

- sessionStorage 和 localStorage 都将数据存储为项。项采用键/值对的组合格式

- 语法:

- setItem(key,value): 用键和值创建项。如果键已经存在,则更新值,所以也可以用这个方法更新值

- getItem(key): 指定要获取的项的键,根据键得到对应的值

// 设置数据

sessionStorage.setItem(‘uanme‘,‘Naruto‘);

// 读取数据

var name = sessionStorage.getItem(‘uname‘);

读取数据

- API 提供了更多的方法和属性来操纵项,使得代码变得更有用

- 属性

- length: 返回应用程序在存储空间中积累的项的数量

- 方法

- key(index):获取指定索引对应的项的键

删除数据

- API 中提供了两个方法可以删除项

- removeItem(key):根据项的键删除指定项

- clear(): 清空整个存储空间。每个项都被删除

三、localStorage

localStorage概述

- 在窗口会话期间有一个可靠的系统来存储,在某些情况下可能有用。但是,想在Web上模拟强大的桌面应用程序,则一个临时的数据存储系统就不够用

- 为了解决这个问题,API提供了另外一个系统,为每个来源保留一个存储系统,并保持信息持久可用---localStorage

- 利用localStorage,可以保存大量数据,并由用户决定信息是否可用,是否保留

- localStorage与sessionStorage拥有相同的接口,所以sessionStorage的方法和属性对于localStorage都有效

storage事件

- 由于localStorage向加载同一程序是打开的每个窗口都提供信息,所以产生了至少两个问题:

- 各个窗口间如何通信

- 如何更新当前没有活动或没有得到焦点的窗口信息

- 为解决以上两个问题,API提供了storage事件

- storage事件:存储空间每次发生变化时,都会触发这个事件。所以可以通过这个事件通知同一程序的每个窗口

- 语法:

- window.addEventListener(‘storage‘,updateNum,false);

总结:本章内容主要介绍了下 HTML5 Web存储API (两个存储系统、sessionStorage、localStorage)

时间: 2024-10-29 10:49:00

Html5之高级-13 Web存储API (两个存储系统、sessionStorage、localStorage)的相关文章

Html5之高级-12 Web Workers(概述、 API)

一.Web Workers 概述 Web Workers 简介 - Web Workers 是运行在后台的 JavaScript - 充分利用多核 CPU 的优势 - 对多线程支持非常好 - 不会影响页面的性能 - 不能访问Web页面 和 DOM API 二.Web Workers API Web Workers API - 检测浏览器对 Web Worker 的支持性 - 创建 Web Worker 文件 - 创建 Web Worker 对象 - 与 Web Worker 进行通信 - onM

Html5之高级-14 Web Socket(概述、API、示例)

一.Web Socket 概述 Web Socket 简介 - Web Socket 是 HTML5 提供的在 Web应用程序中客户端与服务器端之间进行的非 HTTP 的通信机制 - Web Socket 实现了用 HTTP 不容易实现的服务器端的数据推送等智能通讯技术 Web Socket 的特点 - Web Socket 可以在服务器与客户端之间建立一个非 HTTP 的双向连接 - 这个连接时实时的,也是永久的 - 服务器端可以主动推送消息 - 服务器端不再需要轮询客户端的请求 - 服务器端

html5(七) Web存储

http://www.cnblogs.com/stoneniqiu/p/4206796.html http://www.cnblogs.com/v10258/p/3700486.html html5中的Web Storage包括两种存储方式: sessionStorage: 这个存储机制只在页面会话期间保持数据可用.实际上 与真正的回话不同,通过这种机制存储的信息,只能由一个窗口或一个选项卡访问,一旦窗口关闭,它就消失.但存储规范说的仍然是“会话”,因为即使在窗口刷新或者从同一网站加载新页面的时

web存储机制(localStorage和sessionStorage)

web存储包括两种:sessionStorage 和 localStorage(都是限定在文档源级别,非同源文档间无法共享) 1.sessionStorage 数据放在服务器上(IE不支持) 严格用于一个浏览器会话中存储数据,数据在浏览器关闭后会立即删除 2.localStorage 数据在客户端(低版本IE ( IE6, IE7 ) 不支持,并且不支持查询语言) 跨会话持久化地存储数据 localStorage与sessionStorage的区别: localStorage只要在相同的协议.相

HTML5 Web存储(Web Storage)(2)

Web Storage是HTML5引入的一个非常重要的功能,在前端开发中经常用到,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Storage官方建议为每个网站5MB.Web Storage又分为两种: sessionStorage     localStorage 从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了:而localStorage则一直将

html5的web存储详解

以前我们在本地存储数据都是用document.cookie来存储的,但是由于其的存储大小只有4K左右,解析也很复杂,给开发带来了诸多的不便.不过现在html5出了web的存储,弥补了cookie的不足,而且开放起来也是相当的方便 web存储分两类 sessionStorage 容量大小约为5M左右,该方式的生命周期为关闭浏览器窗口为止 localStorage 容量大小约为20M左右, 存储的数据不会随着用户浏览时会话过期而过期,但会应用户的请求而删除.浏览器也因为存储空间的限制或安全原因删除它

HTML5 Web存储 页面间进行传值

在实际使用过程中,经常会遇到需要在页面间进行传值的情况,最初设想一定需要后端才能进行数据的存储和读取,或者在本地使用一个cookie进行保存,直到了解到HTML5 Web存储 使用HTML5的新特性可以在本地存储用户的浏览数据.Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能. 数据以“键/值”对存在, web网页的数据只允许该网页访问使用 方法: localStorage 和 sessionStorage

HTML5新特性之Web Storage

Web Storage是HTML5新增的特性,能够在本地浏览器存储数据,对数据的操作很方便,最大能够存储5M. Web Storage有两种类型: SessionStorage 和 LocalStorage.SessionStorage是在浏览器打开的时间内保存数据,当关闭网页的时候数据随之丢弃.LocalStorage保存的数据不会随着网页和浏览器的关闭而消失,它会保存在本地,当网页再次打开的时候,数据依然存在. Web Storage有四种常用的方法: getItem("Key")

Web存储(Web Storage)介绍

Web存储即在客户端存储数据. 在没有Web Storage之前,是通过cookie来在客户端存储数据的.但是由于 浏览器能存cookie数比较少.如IE8,Firefox,opera每个域可以保存的50个cookie,Safari/WebKit没有限制.一个cookie最多可以存放4096B左右的数据(见http://www.ietf.org/rfc/rfc2965.txt ). 每次请求时,cookie都会存放在请求头中,传输到服务器端.但如果请求头大小超过了限制,服务器会处理不了. 因此c