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. uva 725 Division(除法)暴力法!

    uva 725  Division(除法) A - 暴力求解 Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

  2. UVa 10935 - Throwing cards away I (队列问题)

    原题 Throwing cards away I   Given is an ordered deck of n cards numbered 1 to n with card 1 at the to ...

  3. linux ftp 搭建和相关问题解决

    1. 查看是否安装vsftprpm –qa|grep vsftpd如果出现 vsftpd-2.0.5-16.el5_5.1 说明已经安装 vsftp 安装vsftpyum -y install vsf ...

  4. 转: 如何用linux命令修改linux主机ip网关子网掩码

    linux一般使用ifconfig命令修改linux主机的ip.网关或子网掩码. 1.命令格式: ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设备 ...

  5. Seek the Name, Seek the Fame

    poj2752:http://poj.org/problem?id=2752 题意:给你一个串,让你求前n个字符和后n个字符相同的n有多少,从小到大输出来. 题解:这一题要深刻理解KMP的next数组 ...

  6. Xamarin.Forms WebView

    目前本地或网络的网页内容和文件加载 WebView是在您的应用程序显示Web和HTML内容的视图.不像OpenUri,这需要用户在Web浏览器的设备上,WebView中显示您的应用程序内的HTML内容 ...

  7. 7.1.1.关闭WebSocket连接

    7.1.定义 7.1.1.关闭WebSocket连接 为_关闭WebSocket连接_,端点需关闭底层TCP连接.端点应该使用一个方法完全地关闭TCP连接,以及TLS会话,如果合适,丢弃任何可能已经接 ...

  8. 【HDOJ】1314 Numerically Speaking

    学了几天的Java了,终于独立A了一道大数计算.感觉还得练Java啊. import java.util.Scanner; import java.math.BigInteger; import ja ...

  9. Delphi TcxTreeList 怎们显示下拉列表

    TcxTreeList  怎们显示下拉列表, 操作如下: 1.定义一个TStringlist中存储你的信息. 2.然后选定在TcxTreeList的哪个列要变成TCombobox,  如下图: 3. ...

  10. R语言笔记

    R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...