|
// cookie-utils.js v3.1 |
|
let cookie = { |
|
encode: false, |
|
get: function(cookieName) { |
|
let name = cookieName + '='; |
|
let decodedCookie = cookie._ifDecodeURIComponent(document.cookie); |
|
let cookieInArray = decodedCookie.split(';'); |
|
for (let i = 0; i < cookieInArray.length; i++) { |
|
let cookie = cookieInArray[i]; |
|
while (cookie.charAt(0) == ' ') { |
|
cookie = cookie.substring(1); |
|
}; |
|
if (cookie.indexOf(name) == 0) { |
|
return cookie.substring(name.length, cookie.length); |
|
}; |
|
}; |
|
return ''; |
|
}, |
|
set: function(cookieName, cookieValue, expiresDays, domain, path, secure) { |
|
let date_ = new Date(); |
|
date_.setTime(date_.getTime() + ((expiresDays || 1095) * 24 * 60 * 60 * 1000)); |
|
let expires = 'expires=' + date_.toUTCString() + ';'; |
|
domain = domain ? 'domain=' + domain + ';' : ''; |
|
path = 'path=' + (path || '/') + ';'; |
|
secure = secure ? 'secure;' : ''; |
|
document.cookie = cookie._ifEncodeURIComponent(cookieName) + '=' + cookie._ifEncodeURIComponent(cookieValue) + ';' + expires + domain + path + secure; |
|
}, |
|
remove: function(cookieName) { |
|
document.cookie = cookie._ifEncodeURIComponent(cookieName) + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/'; |
|
}, |
|
removeAll: function(confirm_) { |
|
if (confirm_) { |
|
let keys = cookie.getKeys(); |
|
for (let i = 0; i < keys.length; i++) { |
|
let thisKey = keys[i]; |
|
cookie.remove(thisKey); |
|
}; |
|
return true; |
|
}; |
|
return false; |
|
}, |
|
getKeys: function() { |
|
let decodedCookie = cookie._ifDecodeURIComponent(document.cookie), |
|
cookieInArray = decodedCookie.split(';'), |
|
results = []; |
|
for (let i = 0; i < cookieInArray.length; i++) { |
|
let cookie = cookieInArray[i]; |
|
while (cookie.charAt(0) == ' ') { |
|
cookie = cookie.substring(1); |
|
}; |
|
let name = (cookie.match(/.+?\=/g) || []).join(''); |
|
if (name !== '') { |
|
results.push(name.replace('=', '')); |
|
}; |
|
}; |
|
return results; |
|
}, |
|
getValues: function() { |
|
let keys = cookie.getKeys(), |
|
results = []; |
|
for (let i = 0; i < keys.length; i++) { |
|
let thisKey = keys[i]; |
|
results.push(cookie.get(thisKey)); |
|
}; |
|
return results; |
|
}, |
|
_ifEncodeURIComponent: function(value){ |
|
return cookie.encode ? encodeURIComponent(value) : value; |
|
}, |
|
_ifDecodeURIComponent: function(value){ |
|
return cookie.encode ? decodeURIComponent(value) : value; |
|
} |
|
}; |
https://www.w3schools.com/js/js_cookies.asp