HTML5规范的本地存储.ppt_第1页
HTML5规范的本地存储.ppt_第2页
HTML5规范的本地存储.ppt_第3页
HTML5规范的本地存储.ppt_第4页
HTML5规范的本地存储.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广州大学华软软件学院,第3讲 HTML5规范的本地存储,主要内容,概述 localStorage sessionStorage Storage事件监听 练习与习题,1、概述,1、概述-WebStorage,WebStorage是HTML5中本地存储的解决方案之一。 在HTML5的WebStorage概念引入之前除去IE User Data、Flash Cookie、Google Gears等看名字就不靠谱的解决方案,浏览器兼容的本地存储方案只有使用cookie。 有同学可能会问,既然有了cookie本地存储,为什么还要引入WebStorage的概念?,Cookie(小饼干),有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。 Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。,主要用途,服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。 1、Cookies最典型的应用是判定注册用户是否已经登录网站。 2、“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。,Cookie肿么了,缺陷: 1. 数据大小:作为存储容器,cookie的大小限制在4KB左右,这是非常坑爹的,尤其对于现在复杂的业务逻辑需求,4KB的容量除了存储一些配置字段还简单单值信息,对于绝大部分开发者来说真的不知指望什么了。 2. 安全性问题:由于在HTTP请求中的cookie是明文传递的(HTTPS不是),带来的安全性问题还是很大的。 3. 网络负担:我们知道cookie会被附加在每个HTTP请求中,在HttpRequest 和HttpResponse的header中都是要被传输的,所以无形中增加了一些不必要的流量损失。,WebStorage,WebStorage是HTML新增的本地存储解决方案之一,但并不是为了取代cookie而制定的标准。 cookie作为HTTP协议的一部分用来处理客户端和服务器通信是不可或缺的,session正是依赖于实现的客户端状态保持。 WebStorage的意图在于解决本来不应该cookie做,却不得不用cookie的本地存储。,WebStorage,WebStorage提供两种类型的API:localStorage和sessionStorage。 区别: localStorage在本地永久性存储数据,除非显式将其删除或清空。 sessionStorage存储的数据只在会话期间有效,关闭浏览器则自动删除。两个对象都有共同的API。,浏览器的支持,检查浏览器是否支持WebStorage-请打开ex3_1.html,代码示例,主要内容,移动设备的支持 localStorage sessionStorage Storage事件监听 练习与习题,Storage 接口,interface Storage Storage 接口 readonly attribute unsigned long length; DOMString? key(unsigned long index); getter DOMString getItem(DOMString key); setter creator void setItem(DOMString key, DOMString value); deleter void removeItem(DOMString key); void clear(); ;,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“);,2、localStorage,例:,填写数据 单击刷新,例,关闭浏览器,重新打开 ex3_3_local_next.html 数据还在。,在浏览器中,打开开发者模式(F12),例,3、sessionStorage,3、sessionStorage,以sessionStorage为例进行设置和获取数据。,例:,运行方式和上一个例子一样。,填写数据 单击提交,在浏览器中,打开开发者模式(F12),单击下一页,关闭浏览器,重新打开开发者模式,sessionStorage 临时数据没有了 localStorage本地存储数据还在,运行 ex3_clear.html,小结:为什么比cookie好,1. 从容量上讲WebStorage一般浏览器提供5M的存储空间,用来存储视频、图片神马的不够,但对于绝大部分操作足矣 2.安全性上WebStorage并不作为HTTP header发送的浏览器,所以相对安全 3.从流量上讲,因为WebStorage不传送到服务器,所以不必要的流量可以节省,这样对于高频次访问或者针对手机移动设备的网页还是很不错的。,这并不意味着WebStorage可以取代cookie,而是有了WebStorage后cookie能只做它应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论