学习笔记——JavaScript操作Cookie
2013-03-31 22:34
375 查看
/* 关于Cookie: Cookie可以设置6个部分:name(名称)、value(值)、expires(过期时间)、path(路径)、domain(域)、secure(安全性) 前两个是必须的,后4个是可选的 名称和值: 它们必须位于Cookie字符串的开头 实例: document.cookie="UserName=Paul"; 则Cookie的名称是UserName,值是Paul 过期时间: 若没有设置过期时间,则在关闭页面之后,Cookie就失效 过期时间的格式十分重要,特别是对于IE浏览器,它应该与toGMTString()方法返回的格式相同 实例: document.cookie="UserName=Paul;expires=Tue, 28 Dec 2020 00:00:00 GMT;"; 或者 var expireDate=new Date(); expireDate.setMonth(expireDate.getMonth()+6); document.cookie="UserName=Paul;expires="+ expireDate.toGMTString()+";"; */ //CookieFunction.js function setCookie(cookieName,cookieValue,cookiePath,cookieExpires) { cookieValue = escape(cookieValue); //由于cookie中是以;来区别几个数据的,所以在cookie内容的不能直接添加;字符的 //为了解决这个问题,使用escape()函数,将这种特殊字符转变成:%+十六进制的ASCII 类型的值 //比如:空格变为:%20 分号;变为:%3B //与之对应的,解码使用:unescape()函数 if(cookieExpires=="") { var nowDate=new Date(); nowDate.setMonth(nowDate.getMonth()+6);//默认添加六个月的有效期 cookieExpires=nowDate.toGMTString();//转变成合适的时间格式 } if(cookiePath!="")cookiePath=";Path="+cookiePath; document.cookie=cookieName+"="+cookieValue+";expires="+ cookieExpires + cookiePath; } function getCookieValue(cookieName) { var cookieValue=document.cookie;//提取cookie字符串 var cookieStartsAt=cookieValue.indexOf(" "+cookieName+"=");//若找不到返回-1,找到返回位置 //这里查找" "+cookieName+"=",以免在无意间查找包含所需名称的Cookie名称或值 //例如,假如cookie名称为:xFoo、Foo、yFoo,则查找前面不包含空格的Foo,会优先匹配xFoo if(cookieStartsAt==-1)cookieStartsAt=cookieValue.indexOf(cookieName+"="); //若是-1,则代表该cookie不存在,或者该cookie位于Cookie字符串的开头,这时Cookie名称前也不包含空格,需要重新进行一次查找 if(cookieStartsAt==-1)cookieValue=null; else { cookieStartsAt=cookieValue.indexOf("=",cookieStartsAt)+1;//Cookie值的起始部分是在=号之后 var cookieEndsAt=cookieValue.indexOf(";",cookieStartsAt);//一般是在;处结束 if(cookieEndsAt==-1)cookieEndsAt=cookieValue.length;//若Cookie中只有名称和值时,值就位于字符串最后,没有了;间隔,所以直接用字符串长度 cookieValue=unescape(cookieValue.substring(cookieStartsAt,cookieEndsAt)); } return cookieValue; }
相关文章推荐
- 学习笔记: JavaScript/JQuery 的cookie操作
- 学习笔记: JavaScript/JQuery 的cookie操作
- JavaScript 操作 Cookie学习笔记
- JavaScript学习笔记之Cookie对象
- 【知了堂学习笔记】_JavaScript之DOM操作案例(验证码)
- JavaScript学习笔记36-操作form
- JS学习笔记1——不要使用JavaScript内置的parseInt()和Number()函数,利用map和reduce操作实现一个string2int()函数
- javascript学习基础笔记之DOM对象操作
- javascript学习笔记:DOM节点关系和操作
- JavaScript操作Cookie笔记
- JavaScript Dom 编程艺术学习笔记之DOM操作
- SilverLight学习笔记--Silverligh之在Javascript中调用.NET(包括简单参数和复杂参数的操作)
- javascript学习笔记--js对html对象的原生操作
- 学习笔记: JavaScript/JQuery 的cookie操作
- Javascript 操作CSS 学习笔记
- JavaScript数组操作学习部分笔记
- javascript学习基础笔记之DOM对象操作
- javascript学习笔记(七)利用javascript来创建和存储cookie
- JavaScript学习笔记之通过DOM操作html
- javascript学习笔记之document对象、表单及表单元素、脚本化cookie