cookie的js操作
本页面无需引用JQuary API——jquery.cookie.js,是纯JS,适用于简单的cookie操作
新增cookie
var cookieKey = "newKey"; //cookie的key var cookieDays = 30; //有效期30天 var date = new Date(); //有效期精确到秒:setTime,getTime date.setTime(date.getTime() + cookieDays * 24 * 60 * 60 * 1000); document.cookie = cookieKey + "=1;path=/;expires=" + date.toUTCString(); //有效期精确到日:setDate,getDate date.setDate(date.getDate() + cookieDays); document.cookie = cookieKey + "=1;path=/;expires=" + date;
修改cookie值
同上新增,系统会自动检索该cookie是否存在,没有则新增,有则更新
判断cookie是否存在
if (document.cookie.indexOf(cookieKey + "=") == -1) { //不存在 }
获取cookie值
function getCookie(key) { var arr = document.cookie.split(';'); if (arr == undefined || arr == null || arr.length == 0) { return ""; } for (var i = 0; i < arr.length; i++) { var cook = arr[i].trim().split('='); if (cook[0]== key) { return cook[1]; } } };
删除cookie
var date = new Date(); date.setDate(date.getDate() -1); document.cookie = cookieKey + "=1;path=/;expires=" + date;
查看cookie
console.log(document.cookie)
F12进入【应用-储存-Cookie】可查看和删除当前页面cookie
说明:
1)document.cookie
当前页面所有的cookie,每个cookie之间用; 隔开
2)path=/
设置共享目录,同一用户的根目录下所有的页面都读取该cookie。简单的说,该cookie在该网站所有页面共享
3)expires
设置有效期,必须为日期类型,一旦设置该属性,同一浏览器在该有效期内不会失效
如果不设置该值,cookie有效期在浏览器会话结束后失效
想要设置永久有效,只能把有效期时间设置很长,比如100年