JavaScript操作Cookie
2016-04-28 10:21
621 查看
1. 什么是cookie?
Cookie就是浏览器保存在计算机上面的一下信息。一般是保存用户登录状态,就是说Cookie会保存用户登录某个网站的信息在本地,下次这个用户访问网站的时候会自动取出他的Cookie信息,方便定制用户想要的内容。
2. 实例
下面我们就来写一个操作cookie的方法:
[javascript] view
plain copy
function set_cookie(name, value, minutes, path, domain, secure){
var cookie = name + '=' + escape(value);
if (minutes){
var expiration = new Date((new Date()).getTime() + minutes*60000);
cookie += ';expires=' + expiration.toGMTString();
}
if (path) cookie += ';path=' + path;
if (domain) cookie += ';domain=' + domain;
if (secure) cookie += ';secure';
document.cookie = cookie;
}
function get_cookie(name){
var str_cookies = document.cookie;
var arr_cookies = str_cookies.split(';');
var num_cookies = arr_cookies.length;
for(var i = 0; i < num_cookies; i++){
var arr = arr_cookies[i].split("=");
if(arr[0] == name) return unescape(arr[1]);
}
return null;
}
function remove_cookie(name, path, domain){
if(get_cookie(name)){
var cookie = name + '=;expires=Fri, 02-Jan-1970 00:00:00 GMT';
if (path) cookie += ';path=' + path;
if (domain) cookie += ';domain=' + domain;
document.cookie = cookie;
}
}
set_cookie('name', 'eric', 10, '/');
alert(get_cookie('name'));
remove_cookie('name', '/');
cookie其实是一个字符串,保存在 document.cookie 中。
每个cookie除了name名称和value值这两个属性以外,还有四个属性。这些属性是: expires过期时间、 path路径、 domain域、以及 secure安全。
expires是cookie的过期时间。指定cookie的生命期。如果想让cookie的存在期限超过当前浏览器会话时间,就必须使用这个属性。当过了到期日期时,浏览器就会删除cookie文件。
path是路径,如果是整个网站都有效就设置成'/',如果想在某个目录可以访问就设置'/path',path是你的目录名。不设置的话就是本目录可以访问。
domain指域名。是path的延伸。 如果我们想让 mail.test.com 能够访问www.test.com设置的cookies,该怎么办? 我们可以把domain属性设置成“test.com”,并把path属性设置成“/”。
secure指安全,指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是“secure”,或者为空。缺省情况下,该属性为空,也就是使用不安全的HTTP连接传递数据。如果一个 cookie 标记
b7d7
为secure,那么,它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过,设置了secure属性不代表其他人不能看到你机器本地保存的cookie。换句话说,把cookie设置为secure,只保证cookie与WEB服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密。如果想让本地cookie也加密,得自己加密数据。
顶
0
踩
Cookie就是浏览器保存在计算机上面的一下信息。一般是保存用户登录状态,就是说Cookie会保存用户登录某个网站的信息在本地,下次这个用户访问网站的时候会自动取出他的Cookie信息,方便定制用户想要的内容。
2. 实例
下面我们就来写一个操作cookie的方法:
[javascript] view
plain copy
function set_cookie(name, value, minutes, path, domain, secure){
var cookie = name + '=' + escape(value);
if (minutes){
var expiration = new Date((new Date()).getTime() + minutes*60000);
cookie += ';expires=' + expiration.toGMTString();
}
if (path) cookie += ';path=' + path;
if (domain) cookie += ';domain=' + domain;
if (secure) cookie += ';secure';
document.cookie = cookie;
}
function get_cookie(name){
var str_cookies = document.cookie;
var arr_cookies = str_cookies.split(';');
var num_cookies = arr_cookies.length;
for(var i = 0; i < num_cookies; i++){
var arr = arr_cookies[i].split("=");
if(arr[0] == name) return unescape(arr[1]);
}
return null;
}
function remove_cookie(name, path, domain){
if(get_cookie(name)){
var cookie = name + '=;expires=Fri, 02-Jan-1970 00:00:00 GMT';
if (path) cookie += ';path=' + path;
if (domain) cookie += ';domain=' + domain;
document.cookie = cookie;
}
}
set_cookie('name', 'eric', 10, '/');
alert(get_cookie('name'));
remove_cookie('name', '/');
cookie其实是一个字符串,保存在 document.cookie 中。
每个cookie除了name名称和value值这两个属性以外,还有四个属性。这些属性是: expires过期时间、 path路径、 domain域、以及 secure安全。
expires是cookie的过期时间。指定cookie的生命期。如果想让cookie的存在期限超过当前浏览器会话时间,就必须使用这个属性。当过了到期日期时,浏览器就会删除cookie文件。
path是路径,如果是整个网站都有效就设置成'/',如果想在某个目录可以访问就设置'/path',path是你的目录名。不设置的话就是本目录可以访问。
domain指域名。是path的延伸。 如果我们想让 mail.test.com 能够访问www.test.com设置的cookies,该怎么办? 我们可以把domain属性设置成“test.com”,并把path属性设置成“/”。
secure指安全,指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是“secure”,或者为空。缺省情况下,该属性为空,也就是使用不安全的HTTP连接传递数据。如果一个 cookie 标记
b7d7
为secure,那么,它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过,设置了secure属性不代表其他人不能看到你机器本地保存的cookie。换句话说,把cookie设置为secure,只保证cookie与WEB服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密。如果想让本地cookie也加密,得自己加密数据。
顶
0
踩
相关文章推荐
- Newtonsoft.Json 序列化和反序列化 时间格式
- Js中的继承
- 屏蔽右键菜单(JS)
- 错题集
- js正则函数match、exec、test、search、replace、split使用介绍集合
- js正则验证手机号
- 流行的更换图片的javascript函数集--MM_swapImage函数和MM_swapImgRestore函数
- location方法详解,获取地址栏URL请求参数,以对象形式保存
- js中实参和形参
- js的阻塞特性
- holder.js生成占位图片
- js小技巧
- 引用js文件
- JS代码判断IE6,IE7,IE8,IE9
- JS 四舍五入
- [BS-12] JSON的基础知识--百科
- 自定义标签库jsp
- javascript中this的指向问题
- 趣味javascript程序
- 将对象、Map或者List转换为Json串