javascript对cookie的操作
来源:互联网 发布:百度搜索大数据 编辑:程序博客网 时间:2024/05/23 13:24
/** * 设置cookie * @param {type} 名字,值,时间,路径,有效域名 * @returns {Boolean} */function setCookie(name, value, expires, path, domain) { var str = name + "=" + escape(value); if (expires || expires === 0) { var date = new Date(); date.setTime(date.getTime() + expires * 1000);//expires单位为秒 str += ";expires=" + date.toUTCString(); } if (path || path === 0) { str += ";path=" + path;//指定可访问cookie的目录 } if (domain || domain === 0) { str += ";domain=" + domain;//指定可访问cookie的域 } document.cookie = str;}/** * 取得cookie * @param {type} name * @returns {Boolean} */function getCookie(name) { var str = document.cookie.split("; ");//这里必须是“分号空格” for (var i = 0; i < str.length; i++) { var str2 = str[i].split('='); if (str2[0] == name) { if (str2[1] || str2[1] === 0) { return unescape(str2[1]); } else { break; } } } return false;}/** * 为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间 * @param {type} name cookie名 * @param {type} path cookie路径(默认为当前路径) * @returns {undefined} */function delCookie(name, path) { var date = new Date(); date.setTime(date.getTime() - 10000); var str if (path || path === 0) { str = ";path=" + path;//指定可访问cookie的目录 } document.cookie = name + '=' + str + ';expire=' + date.toUTCString();}
[下面讲的经个人觉得比较好哦!]
我们当然还得介绍cookie的四个属性。这些属性用下面的格式加到字符串值后面: name=<value>[; expires=<date>][; domain=<domain>][; path=<path>][; secure] 名称=<值> [; expires=<日期>][; domain=<域>] [; path=<路径>][; 安全] <value>, <date>, <domain> 和 <path> 应当用对应的值替换。 <date> 应当使用GMT格式,可以使用Javascript脚本语言的日期类Date的.toGMTString() 方法得到这一GMT格式的日期值。方括号代表这项是可选的。比如在 [; secure]两边的方括号代表要想把cookie设置成安全的,就需要把"; secure" 加到cookie字符串值的后面。如果"; secure" 没有加到cookie字符串后面,那么这个cookie就是不安全的。不要把尖括号<> 和方括号[] 加到cookie里(除非它们是某些值的内容)。设置属性时,不限属性,可以用任何顺序设置。 下面是一个例子,在这个例子里,cookie "username" 被设置成在15分钟之后过期,可以被服务器上的所有目录访问,可以被"mydomain.com"域里的所有服务器访问,安全状态为安全。
// Date() 的构造器设置以毫秒为单位
// .getTime() 方法返回时间,单位为毫秒
// 所以要设置15分钟到期,要用60000毫秒乘15分钟
var expiration = new Date((new Date()).getTime() + 15 * 60000);
document.cookie = "username=" + escape(form.username.value)+ "; expires ="+ expiration.toGMTString() + "; path=" + "/" + "; _domain=" + "mydomain.com" + "; secure";
// 我们定义一个函数,用来读取特定的cookie值。[得到指定名字的cookie对象哦!]
function getCookie(cookie_name){
var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name);
// 如果找到了索引,就代表cookie存在,
// 反之,就说明不存在。
if (cookie_pos != -1){
// 把cookie_pos放在值的开始,只要给值加1即可。
cookie_pos += cookie_name.length + 1;
var cookie_end = allcookies.indexOf(";", cookie_pos);
if (cookie_end == -1){
cookie_end = allcookies.length;
}
var value = unescape(allcookies.substring(cookie_pos, cookie_end));
}
return value;
}
var cookie_val = getCookie("username");// 调用函数
3.为什么我设置了cookie的过期时间如果为关闭的时候就自动清空的话怎么没用呢?
Cookie概念:
Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的. 大家都传说Cookie会造成严重的安全威胁什么的, 其实不是这么回事情. 服务器读取Cookie的时候, 只能够读取到这个服务器相关的信息. 而且, 浏览器一般只允许存放300个Cookie, 每个站点最多存放20个, 而且, 每个Cookie的大小现在在4K, 根本不会占用多少空间. 并且, Cookie是有时效性质的. 例如, 设置了Cookie的存活时间为1分钟, 则一分钟后这个Cookie就会被浏览器删除
Cookie版本:
目前有两个版本:
版本0 : 由Netscape公司制定的,也被几乎所有的浏览器支持. Java中为了保持兼容性, 目前只支持到版本0, Cookie的内容中不能空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号。
版本1 : 根据RFC 2109文档制定的. 放宽了很多限制. 上面所限制的字符都可以使用. 但为了保持兼容性, 应该尽量避免使用这些特殊字符.
- javascript对cookie的操作
- javascript 对Cookie操作
- 使用JavaScript 对Cookie 操作的封装
- JavaScript对cookie的粗浅操作
- JavaScript对Cookie的操作-设置Cookie、获得Cookie、删除Cookie
- 对cookie的操作
- 对Cookie的操作
- javaScript对Cookie的添加,获取,删除等操作
- javascript中对cookie的存取查操作
- 使用javascript对cookie进行操作
- 对Cookie操作的封装
- java对cookie的操作
- java对cookie的操作
- java对cookie的操作
- Java对Cookie的操作
- java对cookie的操作
- java对cookie的操作
- java对cookie的操作
- Maya: 菜单 网格 >布尔>差集
- math skill
- 用联想wndows8系统做android调试开发,adb server无法启动的原因
- ckfinder.net完全讲解二(添加文件夹右键餐单选项)
- Maya: 菜单 网格 >布尔>交集
- javascript对cookie的操作
- Android开发环境搭建
- hdu1276(多重背包)
- hibernate的事务管理和几种代理方式
- Maya: 菜单 网格 >平滑
- 注册热键
- MyEclipse的WEB项目到Eclipse的迁移
- DEFINES和绑定变量
- 电子商务事业部