JavaScript Cookies?

Cookies是某种形式的数据,它存储在你的计算机里面的小文本文件中。网页浏览器和服务器通过HTTP协议交通,HTTP是非状态性协议。当网页服务器发送一个页面到一个浏览器,连接就中断了,并且服务器会丢掉关于用户的每一个信息。对于一个商业网站,需要在不同网页之间维护对话session 信息。目的是记录用户的信息,这就使用了cookies技术。

Cookies以名称值对的形式存在计算机中。

username = Bill Gates

JavaScript使用"document.cookie" 属性创建,删除和读取cookies,但是这个对象提供的接口太原始了。

创建Cookie

document.cookie = "username=Bill Gates";

添加失效日期(UTC格式)

document.cookie = "username=Bill Gates; expires=Fri, 20 Dec 2014 12:00:00 UTC";

你可以用一个路径参数,告诉浏览器cookie的归属路径。缺省状态,cookie属于当前路径。

document.cookie = "username=Bill Gates; expires=Fri, 20 Dec 2014 12:00:00 UTC; path=/";

读取Cookie

var ck = document.cookie;

修改Cookie

JavaScript修改Cookie和创建它们是一样的。老的cookie值就被删除了

document.cookie = "username=Bill Gates; expires=Fri, 20 Dec 2022 12:00:00 UTC; path=/";

删除Cookie

document.cookie = "username=; expires=Fri, 20 Dec 2014 12:00:00 UTC; path=/;";

获得,设置和删除Cookie的JavaScript函数。

设置Cookie

function setCookie(cookName, cookValue, expiry) {
var dt = new Date();
dt.setTime(dt.getTime() + (expiry*24*60*60*1000));
var expires = "expires="+ dt.toUTCString();
document.cookie = cookName + "=" + cookValue + ";" + expiry + ";path=/";
}

获得Cookie

function getCookie(cookName) {
var cname = cookName + "=";
var deCookie = decodeURIComponent(document.cookie);
var cookArray = decodedCookie.split(';');
for(var i = 0; i <cookArray.length; i++) {
var c = cookArray;
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(cname) == 0) {
return c.substring(cname.length, c.length);
}
}
return "";
}

删除Cookie

function deleteCookie(name){
setCookie(name,"",-1);
}
原文链接