Document对象都有一个cookie属性,它使得JavaScript代码能够在用户的硬盘上持久地存储数据,
并且能够获取以这种方式存储的数据。客户端持久性是赋予WEB应用程序记忆力的一种简单方法。
 
cookie还可以用于客户端脚本化,并且是HTTP协议的一个标准扩展。
 
cookie的字符串由  名字/值 组成 (=区分),不同的属性之间用分号隔开。
 
cookie有4个可选属性
 
1、expires(已被max-age取代)  生存期
expires是未来的一个过期日期,max-age用秒来设置生命期
 
2、path    指定与此cookie关联在一起的网页
具有默认值,可通过设置path值,使其他来自同一个网络服务器的网页也可见(只要它的URL中
含有指定路径(path的值),就可以共享这个cookie(具有访问权限的页面可以使用docuemtn.cookie访问指定的cookie)
 
3、domain  用于多个web服务器共享cookie
 
如 domain=.example.com;path=/;
 
那么 catalog.example.com    orders.example.com 以及其它所有位于example.com域的其他服务器上的网页
都能访问 这个cookie
 
注:不可设置为服务器所在的域之外的域
 
4、secure        布尔值
指定如何传输
true       Https或其他的安全协议连接时才被传输
false      Http就可传输
 
注:此4个都是cookie的属性,不是JavaScript对象的属性
navigator.cookieEnabled  可查看浏览器是否启用cookie
 
 
 
 
19.2 cookie的存储 
 
注:cookie值不能含有分号、逗号或空白符
 
方式: name1=value1;name2=value2;max-age=seconds;path=path;domain=domain;secure;
 
    document.getElementById("b1").onclick = function () {
        document.cookie = "version=a;max-age=2000;";
        var a = document.cookie;
 
    }
用decodeURIComponent() 解码,以前用escape()和unescape()现基本已弃用。
通过max-age设置,也可以用expires(必须是Date.toGMTString() 格式规范)
 
max-age=60*60*24;
 
1、改变一个cookie的值
    使用同一个path和domain以及新的值,再设置一次cookie的值(或更新生命期)
2、删除cookie的值
设置max-age值设置为0,或者设置为任意的值(或空的值)
 
 
cookie的局限性
浏览器总个数限制及每个cookie的大小控制,一般为300个及4KB的大小限制。
 
19.3    cookie的读取
    只能读取name=value;这些字符串,不能对cookie4种属性进行读取。
不同的name=value且分号隔开,value有多个值,可以且冒号分开,再自定义方法解析。
 
注:cookie的惟一标识是 path+domain+name
 
19.5 cookie的替代方法
IE userData
Flash SharedObject
 
注:设置值时     "theme=blue; max-age=60; path=/; domain=test.com"   键值顺序不能乱放,  max-age=60; path=/; domain=test.com 这几个必须在实际值后面,如果将其它值放在这中间或之后,会读取不到。

"theme=blue; max-age=60; path=/; domain=test.com"  可读取 theme=blue; max-age=60; 
"max-age=60; theme=blue;path=/; domain=test.com"   可读取 max-age=60;

 

JavaScript 客户端JavaScript之cookie和客户端持久性的更多相关文章

  1. JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)

    XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话.   大多数浏览的客户端JavaScri ...

  2. JavaScript 客户端JavaScript之 脚本化浏览器窗口

    1.计时器 客户端Javascript以全局函数setTimeOut().clearTimeOut().setInterval().clearInterval()提供这一功能.   前者是从运行的那一 ...

  3. JavaScript 客户端JavaScript之 脚本化文档

    客户端JavaScript的存在把静态HTML转变为交互式的Web应用程序,脚本化Web页面的内容正是JavaScript存在的理由.   一个文档对象模型或者说DOM就是一个API,它定义了如何访问 ...

  4. JavaScript的进阶之路(七)客户端JavaScript知识点总结

    一.客户端JavaScript主要是BOM DOM的操作和js脚本的兼容性.互用性.可访问性.安全性的应用.以及一些框架的引用. 二.BOM:浏览器对象模型 主要介绍window对象 1.定时器:se ...

  5. 【WIP】客户端JavaScript Web Object

    创建: 2017/10/11   更新: 2017/10/14 标题加上[WIP],增加[TODO] 更新: 2018/01/22 更改标题 [客户端JavaScript Web Object, UR ...

  6. 【JavaScript权威指南(第五版)】笔记之第二部分 客户端JavaScript 第13章~第23章

    第十三章 Web浏览器中的javascript ①   eg:下面两行代码实际上执行的是相同的功能 var answer = 42; window.answer = 42;   ③每个window对象 ...

  7. JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)

    具有交互性的JavaScript程序使用的是事件驱动的程序设计模型.   目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API ...

  8. JavaScript 客户端JavaScript之 Web浏览器的环境

    Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容)  Web浏览器中的Javascrip ...

  9. 客户端JavaScript(window、document、element)

    一.window对象是所有客户端JavaScript特性和API的主要接入点,用window来引用它. 属性:location属性(引用Location对象,当前显示在窗口的URL).document ...

  10. 前端--关于客户端javascript

    浏览器中的Javascript 客户端javascript就是运行在浏览器中的javascript,现代的浏览器已经有了很好的发展,虽然它是一个应用程序,但完全可以把它看作是一个简易的操作系统,因为像 ...

随机推荐

  1. iTunes 安装终极解决方案

    近日手贱升级了Itunes,升级过程即报失败,然后卸载所有相关东西,再重装,Itunes安装成功,但是报告无法使用iphone,经过几天摸索,发现是Apple Mobile Device Suppor ...

  2. .Net 4.5 Task

    Task 是 .Net4.0 新出的异步调用方法,粗略看了一下基本对外屏蔽了线程的概念,写异步调用更专注于应用本身. public class Program { static void Main(s ...

  3. 嵌入式 现已发展为 IT行业的主流——高薪,且人才缺乏

    嵌入式 现已发展为 IT行业的主流——高薪,且人才缺乏 硅谷芯微技术中心,注重实践操作,以实际项目带学员,让学员真正学到东西,达到企业用人标准,有兴趣的,可以前来了解,给自己多一个选择的机会,可以多家 ...

  4. 最小费用最大流MCMF zkw费用流

    稀疏图慢死了...但是稠密图效果还是很好的 struct MCMF{ struct tedge{int x,y,cap,w,next;}adj[maxm];int ms,fch[maxn]; int ...

  5. Delphi中文本文件的操作

    Delphi中文本文件的操作 相关知识内容: 在对文本文件进行任何处理之前,首先要打开此文本文件.声明变量:通过此变量可以来引用一个文本文件. 打开一个文件需要两步:首先是 AssignFile(), ...

  6. 【转】silverlight 跨域访问

    作者:MIDI  来源:博客园  发布时间:2010-01-01 17:39  阅读:204 次  原文链接   [收藏]    在 Silverlight 使用 WebService .WCF.We ...

  7. 浅谈SQL Server中的快照

    原文地址:http://www.cnblogs.com/CareySon/archive/2012/03/30/2424880.html 简介 数据库快照,正如其名称所示那样,是数据库在某一时间点的视 ...

  8. Java学习日记-10 集合

    集合(Collection) 1. 什么是集合? 集合是一组对象组成的一个整体,又称为容器,集合类属于java.util包.集合不同于数组的地方在于,一是它的容量是可变的,二是集合中只能存储对象,不能 ...

  9. objc非主流代码技巧

    原文:http://blog.sunnyxx.com/2014/08/02/objc-weird-code/ [娱乐向]objc最短的方法声明 先来个娱乐向的.方法声明时有一下几个trick: 返回值 ...

  10. supervisor:进程管理工具

    一,安装(任何一种方式) apt-get install supervisor easy_install supervisor pip install supervisor 二,配置 配置superv ...