1. 数据存储

1.1 cookie

HTTP Cookie, cookie,最初用来在客户端存储回话信息。

(1). 限制,不同浏览器对特定域名下的cookie 的个数有限制,每个域名下最好不要操过20个cookie

(2). cookie的构成

  1. 名称:一个唯一确定cookie的名称,不区分大小写,cookiede 名称必须经过URL编码
  2. 值:存储在cookie中的字符串值,值必须被URL编码
  3. 域:cookie对那个域是有效的,所有向该域发送的请求都会包含该cookie,可以包含子域,没有明确设定,那么这个域会被认作来自设置cookie的那个域
  4. 路径:对于指定域的那个路径,应该向服务器发送cookie
  5. 失效时间:表示cookie何时应该被删除的时间戳。默认情况下,浏览器结束会话时会删除cookie,如果设置以前的时间,cookie会立即被删除
  6. 安全标志:制定后,cookie只有在使用SSL连接的时候才发送到服务器。

(3). 获取或设置cookie

获取cookie属性时,使用document.cookie返回当前页面(根据域,路径,失效时间和安全设置)可用的所有cookie字符串:

name1=value1;name2=value2

所有的名称和值都是URL编码的,所以必须解码才能使用

设置cookie属性时,采用

document.cookie=” name1=value1;name2=value2;domain=.wrox.com;path=/”

方式,名称和值最好采用URL进行编码

1.2 Web存储机制

1.2.1 Storage

Storage类型根据键值对来存储数据,有如下方法:

(1). clear():删除所有值

(2). getItem(name):根据指定名称name获取对应的值

(3). key(index):根据index获取指定位置处的值

(4). removeItem(name):删除指定名称的键值对

(5). setItem(name,value):为指定的名称设置一个对应的值

1.2.2 sessionStorage

sessionStorage对象存储特定于某个回话的数据,也就是说浏览器关闭的时候该数据就会丢失。可以使用Storage相关方法对数据进行操作

1.2.3 globalStorage

globalStorage跨越回话保存数据,存在特定的访问限制,要使用globalStorage,首先要指定哪些域可以访问该数据,可以通过方括号使用属性来实现。

globalStorage[“wrox.com”]

globalStorage的每个属性对象都是一个Storage实例,可以使用Storage相关方法对数据进行操作

1.2.4 localStorage

localStorage对象在修订过的HTML5规范中作为持久保存客户端数据的方案取代了globalStorage,与globalStorage不同,不能指定任何访问规则,要访问一个localStorage对象,页面必须来自于同一个域名(子域名无效),使用同一种协议,在同一个端口上。相当于globalStorage[location.host]

localStorage是Storage的实例,可以使用Storage相关方法对数据进行操作。

1.2.5 storage事件

对Storage对象的任何修改,都会触发在文档上的storage事件,这个事件的event对象有如下属性:

(1). domain:发生变化的存储空间域名

(2). key:设置或者删除的键名

(3). newValue:如果是设置值,则是新值;如果是删除值,则是null

oldValue:键被更改之前的值

23. javacript高级程序设计-数据存储的更多相关文章

  1. JavaScript高级编程———数据存储(cookie、WebStorage)

    JavaScript高级编程———数据存储(cookie.WebStorage) <script> /*Cookie 读写删 CookieUtil.get()方法根据cookie的名称获取 ...

  2. 21. javacript高级程序设计-Ajax与Comet

    1. Ajax与Comet 1.1 XMLHttpRequest对象 IE5是第一款引入XHR对象的浏览器,IE5中是通过MSXML库中的一个ActiveX对象实现的.因此在IE中可能存在MSXML2 ...

  3. 20. javacript高级程序设计-JSON

    1. JSON JSON是一种数据格式,存在以下三种类型的值: l 简单值:使用与JavaScript相同的语法,可以在JSON中表示字符串.数值.布尔值和null,不支持 undefined,例如: ...

  4. 19. javacript高级程序设计-E4X

    1. E4X E4X是对ECMAScript的一个扩展, l 与DOM不同,E4X只用一个类型节点来表示XML中的各个节点 l XML对象中封装了对所有节点都有用的数据和行为.为了表示多个节点的集合, ...

  5. 17. javacript高级程序设计-错误处理与调试

    1. 错误处理与调试 l 在可能发生错误的地方使用try-catch方法,可以对错误进行及时的相应 l 使用window.onerror事件处理程序,这种方式可以接受try-catch不能处理的所有错 ...

  6. 15. javacript高级程序设计-Canvas绘图

    1. Canvas绘图 HTML5的<canvas>元素提供了一组JavaScript API,让我们可以动态的创建图形和图像.图形是在一个特定的上下文中创建的,而上下文对象目前有两种. ...

  7. 13. javacript高级程序设计-事件

    1. 事件 1.1 事件流 事件流描述的是从页面中接受事件的顺序,IE的事件是冒泡流,而Netscape Communicator的事件流是事件捕捉流. 1.1.1 事件冒泡 <!DOCTYPE ...

  8. 6. javacript高级程序设计-面向对象设计

    1. 面向对象设计 1.1 理解对象 1.1.1 属性类型 (1). 数据属性:相当于对象的字段,包含一个数据值的位置,在这个位置可以读取和写入值.数据属性中有4个描述其行为的特性: l [[Conf ...

  9. 5. javacript高级程序设计-引用类型

    1. 引用类型 1.1 Object类型 创建Object类型有两种方式: 使用new操作符后跟Object构造函数 var person =new Object(); 字符量表示法 var pers ...

随机推荐

  1. Hibernate 应用

    完善的持久化层应该达到以下目标: 1.代码可重用性高,能够完成所有的数据库访问操作. 2.如果有需要的话,能够支持多种数据库平台. 3.具有相对独立性,当持久化层的实现发生变化,不会影响上层的实现. ...

  2. Emacs教程

    中文 http://www.cnblogs.com/robertzml/category/209299.html 英文 http://ergoemacs.org/emacs/emacs_fun.htm ...

  3. Javascript 中我很想说说的 this

    this是每一个想要深入学习Javascript的人必过的一关,我为this看过很多书查过很多资料,虽然对this有了一定的了解并且也经常使用this,但是如果有人问我  this是什么呀? 我依旧不 ...

  4. 淘宝首页源码藏美女彩蛋(下)(UED新作2013egg)

    我们已经知道,执行美女会得到"彩蛋",而正是彩蛋做到了taobaoUED展现给大家的神奇的前端魅力.今天我们来看看FP.egg&&FP.egg("%cjo ...

  5. 正确地组织python项目的结构

    统一的项目结构 写了不少python项目后, 越来越认识到python项目结构重要性. 不管项目是否要开源, 是否要提交pypi, 项目结构的一致性带来的好处还有很多: 多人合作开发大家都有个基本的g ...

  6. OFFICE文档(DOC,XLS,PPT)打开报错的解决办法!

    一般情况下,打开OFFICE文档报错都是因为模板文件出错!! 至于为什么会出错这个问题不好说,可能是不正确关闭文档等等,重装OFFICE也不一定能解决问题! 出现这种情况一般是所有的Word文档或者E ...

  7. Vno博客样式分享

    不知不觉有一年多没有更新博客了,还是几位园友因为喜欢这套博客样式发了消息,否则我都快忘记自己还有一个博客了,哈哈. 言归正传,这套博客样式是当时闲来无事copy的iOS界喵神的博客Vno,确实很漂亮, ...

  8. poj.1988.Cube Stacking(并查集)

    Cube Stacking Time Limit:2000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Submi ...

  9. Hello 畅连·西瓜 帮助与更新

    无感认证很好用,软件不再更新, 感谢每一位朋友的陪伴,谢谢! (2016.12.15) 百度云:点击下载 ------------旧版更新日志------------- Hello 畅连·西瓜 官网: ...

  10. CSS使用自定义光标样式-遁地龙卷风

    测试环境是chrome浏览器 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357. ...