如果想在客户端即网页中通过 js 去设置secure 类型的 cookie,必须保证网页是https 协议的。在http协议的网页中是无法设置secure类型cookie的。
设置方法:document.cookie = "name=Sea; secure";
原生方式设置cookie
var key = escape("name;value");
var value = escape("this is a value contain , and ;");
document.cookie= key + "=" + value + "; expires=Thu, 26 Feb 2116 11:50:25 GMT; domain=sankuai.com; path=/";
自定义方法
var doCookie = {
get: function (key) {
var mat = new RegExp('(^|[^a-z])' + key + '=(.*?)(;|$)', 'i').exec(document.cookie);
return mat ? decodeURIComponent(mat[2]) : '';
},
set: function (name, value, hours) {
var ck = name + '=' + encodeURIComponent(value);
if (hours) {
var date = new Date();
date.setTime(date.getTime() + hours * 3600 * 1000);
ck += "; expires=" + date.toGMTString();
}
ck += '; path=/';
document.cookie = ck;
}
}
使用方式:
//设置
doCookie.set('userid', 1230, 24) // 参数:键名、值、时间(已经换算为小时)
doCookie.set('userid','', 0) ;// 清除cookie名为userid
//获取
doCookie.get('userid')