JavaScript是运行在客户端的脚本,cookie是运行在客户端的,所以可以用Cookie 在网页中存储用户信息。
什么是 cookie?
Cookie 是在您的计算机上存储在小的文本文件中的数据。
当 web 服务器向浏览器发送网页后,连接被关闭,服务器会忘记用户的一切。
Cookie 是为了解决“如何记住用户信息”而发明的:
当用户访问网页时,他的名字可以存储在 cookie 中。
下次用户访问该页面时,cookie 会“记住”他的名字。
比如:定义了一个全局变量temp,A页面存储用户信息名称userName,在A页面的时候已经把用户信息名称userName赋值给变量temp,在打开B页面的时候,变量temp,就会重新载入,没有达到存储的效果,这个时候就采用cookie来保存该变量的值。
cookie存储大小限制说明:
只能存储文本。
单条大小不能超过4kb
存储条数一般不超过50条。
不可跨域读取。
每个cookie都有时效,最短的有效期是会话级别(即浏览器关闭时cookie便销毁)。
cookie读取,删除,设置:
cookie设置:
cname:设置cookie名称,cvalue:设置变量要存储的值,exdays:设置存储日期
使用示例:setCookie('XXX_userName',userName,7),设置存储用户名称userName,存储有效期为7天。
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + encodeURIComponent(cvalue) + "; " + expires;
};
cookie读取:
使用示例:getCookie('XXX_userName'),读取XXX_userName,存储的值。
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) == 0) return decodeURIComponent(c.substring(name.length, c.length));
}
return "";
};
cookie删除:
使用示例:deleteCookie('XXX_userName') ,删除XXX_userName变量所存储的值。
function deleteCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
};