Page 157 - CITS - Computer Software Application -TT
P. 157
COMPUTER SOFTWARE APPLICATION - CITS
A Function to Set a Cookie
First, we create a function that stores the name of the visitor in a cookie variable:
Example
function setCookie(cname, cvalue, exdays) {
const d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
let expires = “expires=”+ d.toUTCString();
document.cookie = cname + “=” + cvalue + “;” + expires + “;path=/”;
}
Example explained:
The parameters of the function above are the name of the cookie (cname), the value of the cookie (cvalue), and
the number of days until the cookie should expire (exdays).
The function sets a cookie by adding together the cookiename, the cookie value, and the expires string.
A Function to Get a Cookie
Then, we create a function that returns the value of a specified cookie:
Example
function getCookie(cname) {
let name = cname + “=”;
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(‘;’);
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ‘ ‘) {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return “”;
}
Function explained:
Take the cookiename as parameter (cname).
Create a variable (name) with the text to search for (cname + “=”).
Decode the cookie string, to handle cookies with special characters, e.g. ‘$’
Split document.cookie on semicolons into an array called ca (ca = decodedCookie.split(‘;’)).
Loop through the ca array (i = 0; i < ca.length; i++), and read out each value c = ca[i]).
If the cookie is found (c.indexOf(name) == 0), return the value of the cookie (c.substring(name.length, c.length).
If the cookie is not found, return “”.
144
CITS : IT&ITES - Computer Software Application - Lesson 37 - 46