js cookie

来源:互联网 发布:java写文件换行 编辑:程序博客网 时间:2024/05/22 09:06
一、cookie概述
cookie是Document对象的一个属性。
它使得JavaScript代码能够在用户的硬盘上持久地存储数据,并且能够使用JavaScript代码对这些数据进行读取\修改\删除。
这样可以保存信息,并且在关闭当前对话后,以后再次启用对话时仍能对这些信息进行操作。(比如用户在文本框输入自己的邮件地址,当下次再打开这个页面时,文本框中可以自动显示上次输入的邮件地址)。
cookie有四个可选的属性如下:
1、expires(用来指定cookie的保存期,此属性已被max-age属性代替)
2、path(用来指定网站中都有哪些页面可以共享cookie数据)
3、domain(用来指定跨服务器页面共享cookie数据,如catalog.example.com和orders.example中的页面都可以使用cookie数据)
4、secure(指定在网络上如何传输cookie值,他的值为布尔值,当值为true时传输方法为安全的HTTPS方法,当值为false时传输的方法为普通的,不安全的HTTP方法)

二、cookie的存储\读取\修改\删除
存储:

1、document.cookie="name=vale";(name为cookie名,vale为cookie值,可多次使用存储多个cookie)
2、document.cookie="name="+valiable;(值可为变量)
3、document.cookie="name="+encodeURIComponent(valiable);(对值进行加密,读取时需解密,稍后讲到)
4、document.cookie="name="+valiable+“;max-age="+1000;(用max-age属性设置 cookie的保存时间,用数字表示,1代表1秒,时间也可以用数学方法如;document.cookie="name="+valiable+“;max-age="+(60*60*24*356);表示一年)
4、document.cookie="name="+valiable+";max-age="+1000+";path=/;domain=.baidu.com;secure=true";(路径为“/”表示根目录下所以页面如www.baidu.com下,域为".baidu.com"表示这个域下所以服务器的所以页面如"search.baidu.com"和"hi.baidu.com"下的页面都可以,secure设为true表示使用安全的HTTPS方法传输。)

读取:
使用document.cookie来读取cookie。它返回的是一个字符串,这个字符串存放的是当前文档应用的所有cookie。它是一个name=value对的列表,数对这间用分号隔开,其中不包括已以设置的cookie属性。可以使用alert(document.cookie);来查看这些值。
如存储时所说,使用encodeURIComponent(valiable)方法进行编码,读取的时候可用decodeURIComponent()方法解码。如:alert(encodeURIComponent(document.cookie));

修改:
所谓修改其实就是用同样的名设置不同的值罢,呵呵。
如:
document.cookie="name=vale";
document.cookie="name=vale2";
这样就更改了cookie的值,原来是vale现在是vale2。当然更改到期时间也就是重新设置。

删除:
所谓删除就是将值设置为空。
如:
document.cookie="name=vale";
document.cookie="name=";

注:
cookie值不能含有分号,逗号,空白符。
前三种方法只能在当前的浏览会话中存活,当用户退出浏览器时它就会丢失。
cookie的四个属性为可选,可写一个或多个也可一个也不写。

转自http://www.cnblogs.com/baixiaoxu/news/2009/09/10/2023914.html
原创粉丝点击