跳到主要内容

原生js操作cookie,有效期至晚上23点59分59秒

· 阅读需 2 分钟
lzw.

现在遇到一个每日可以投票的功能,想用cookie来控制,那么有效期至晚上23点59分59秒,下面的代码可以搞定

设置cookie

/**
* 添加cookie
* @param cname
* @param cvalue
* @param exdays
*/
function setCookie(cname, cvalue, exdays) {
var d = new Date(),_d = d;
//设置23:59:59过期
_d.setHours(23);_d.setMinutes(59);_d.setSeconds(59);
d.setTime(_d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}

获取cookie

/**
* 获取cookie
* @param cname
* @returns {*}
*/
function getCookie(cname){
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
}
return "";
}

删除cookie

/**
* 删除cookie
* @param cname
*/
function delCookie(cname){
var exp = new Date();
exp.setTime(exp.getTime() - 1);
document.cookie= cname + "=cookie; expires="+exp.toGMTString();
}

根据代码网上代码修改

js.cookie

https://github.com/js-cookie/js-cookie

Cookies.set('name', 'value', { expires: 365 });
Cookies.get('name'); // => 'value'
Cookies.remove('name');