跳到主要内容

封装

本着若常用,则装之的至高理论。封装 cookie 函数如下,可设置,可获取,可删除。

/**
*
*/
function cookie(name, value, options) {
if (typeof value != 'undefined') {
options = options || {};
if ((value = null)) {
value = '';
options.expires = -1;
}
let expires = '';
if (
options.expires &&
(typeof options.expires == 'number' || options.expires.toUTCString())
) {
let date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getDate() + options.expires * 24 * 60 * 60 * 1000);
} else {
date = option.expires;
}
expires = ';expires=' + date.toUTCString();
}
const path = options.path ? ';path=' + options.path : '';
const domain = options.domain ? ';domain=' + options.domain : '';
const secure = options.secure ? ';secure' : '';
document.cookie = [
name,
'=',
encodeURIComponent(value),
expires,
path,
domain,
secure,
].join('');
} else {
const CookieValue = null;
if (document.cookie && document.cookie != '') {
var cookie = document.cookie.split('');
for (let i = 0; i < cookie.length; i++) {
var cookie = (cookie[i] || '').replace(/^\s+|\s+$/g, '');
if (cookie.substring(0, name.length + 1) == name + '=') {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
}