公司业务需要,需要频繁地对cookie操作,遂完成代码封装,方便 团队小伙伴儿 一起使用
/*
* COOKIE 的 通用方法
* @name:cookieName
* @value:cookieValue
* @days:几天 大于0,建议为整数
* @isZero: 是否是零点
*/
window.SpCusCookie = {
setCookie: function (name, value, days, isZero) {
var date = new Date(),
expires = "",
days = Number(days);
if (days) {
if(isZero) {
var curTemp = date.getTime();
var curWeekHours = new Date(date.toLocaleDateString()).getTime() - 1;
var passedTimeStamp = curTemp - curWeekHours;
var leftTimeStamp = 24 * 60 * 60 * 1000 - passedTimeStamp;
var leftTime = new Date();
leftTime.setTime(leftTimeStamp + curTemp + (days-1) * 24 * 60 * 60 * 1000);
expires = ";
expires="+leftTime.toGMTString();
} else {
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = ";
expires="+date.toGMTString();
}
}
document.cookie = name+"="+value+expires+";
path=/";
},
getCookie: function (name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';
');
for(var i=0;
i < ca.length;
i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
},
deleteCookie: function (name) {
var date = new Date();
date.setTime(date.getTime()-10000);
//删除一个cookie,就是将其过期时间设定为一个过去的时间
document.cookie = name + "= ' ' " + ";
expires=" + date.toUTCString()+";
path="+"/";
}
}
【javascript|原生JS关于cookie 的操作】因为公司内部使用(.699pic.com),所以代码均不涉及跨域,如果涉及跨域建议传默认参数 domain
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- vue.js|vue中使用axios封装成request使用
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- javascript|javascript中的数据类型转换