|
/** |
|
* Creates or Updates a cookie |
|
*/ |
|
function setCookie(name, value, expiry /* in days */ ) { |
|
var d = new Date() |
|
d.setTime(d.getTime() + (expiry * 24 * 60 * 60 * 1000)) |
|
var expires = 'expires=' + d.toUTCString() |
|
document.cookie = name + '=' + value + ';' + expires + ';path=/' |
|
} |
|
|
|
/** |
|
* Returns a cookie |
|
*/ |
|
function getCookie(name) { |
|
name = name + '=' |
|
var decodedCookie = decodeURIComponent(document.cookie) |
|
var cookies = decodedCookie.split(';') |
|
|
|
for (var i = 0; i < cookies.length; i++) { |
|
var cookie = cookies[i] |
|
|
|
while (cookie.charAt(0) == ' ') { |
|
cookie = cookie.substring(1) |
|
} |
|
|
|
if (cookie.indexOf(name) == 0) { |
|
return cookie.substring(name.length, cookie.length) |
|
} |
|
} |
|
|
|
return null |
|
} |
|
|
|
/** |
|
* Returns all cookies |
|
*/ |
|
function getCookies() { |
|
var allCookies = [] |
|
var decodedCookie = decodeURIComponent(document.cookie) |
|
var cookies = decodedCookie.split(';') |
|
|
|
for (var i = 0; i < cookies.length; i++) { |
|
var cookie = cookies[i] |
|
|
|
while (cookie.charAt(0) == ' ') { |
|
cookie = cookie.substring(1) |
|
} |
|
|
|
if (cookie.length) { |
|
cookie = cookie.split('=') |
|
allCookies.push({ |
|
name: cookie[0], |
|
value: cookie[1] |
|
}) |
|
} |
|
} |
|
|
|
return allCookies.length ? allCookies : null |
|
} |
|
|
|
/* Usage */ |
|
var cookieName = 'jscookie' |
|
|
|
// Create a cookie |
|
setCookie(cookieName, 'JS Cookies!!!', 1) |
|
|
|
// Get cookie value |
|
var cookieValue = getCookie(cookieName) |
|
|
|
// Get all cookies |
|
var allCookies = getCookies() |
|
|
|
// Check if a cookie exists |
|
if (getCookie(cookieName) !== null) { |
|
console.log(cookieName + ' exists.') |
|
} |
|
|
|
// Check if a cookie does not exist |
|
if (getCookie(cookieName) === null) { |
|
console.log(cookieName + ' does not exist.') |
|
} |
|
|
|
// Unset a cookie |
|
setCookie(cookieName, 1, -1) |