码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 客户端JavaScript之cookie和客户端持久性

时间:2015-04-07 00:31:09      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

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
 
19.5 cookie的替代方法
IE userData
Flash SharedObject

JavaScript 客户端JavaScript之cookie和客户端持久性

标签:

原文地址:http://www.cnblogs.com/tlxxm/p/4396990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!