-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
33 lines (27 loc) · 1014 Bytes
/
index.js
File metadata and controls
33 lines (27 loc) · 1014 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function setCookie(name, value, daysToLive) {
const date = new Date();
date.setTime(date.getTime() + (daysToLive * 24 * 60 * 60 * 1000));
let expires = "expires=" + date.toUTCString();
document.cookie = `${name}=${value}; ${expires}; path=/`;
}
function deleteCookie(name) {
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/`;
}
function getCookie(name) {
const cDecoded = decodeURIComponent(document.cookie);
const cArray = cDecoded.split("; ");
for (let cookie of cArray) {
let [cookieName, cookieValue] = cookie.split("=");
if (cookieName === name) {
return cookieValue;
}
}
return null;
}
// Test the functions
setCookie("firstName", "SpongeBob", 365);
setCookie("lastName", "SquarePants", 365);
console.log(document.cookie); // Logs cookies as a string
console.log(getCookie("firstName")); // Logs "SpongeBob"
deleteCookie("firstName");
console.log(document.cookie); // Check if "firstName" is deleted