Basics of Javascript Cookies
Posted By: Kanika Gupta Published: 14, Jan 2024
In layman terms, cookies are text files that contain small amounts of data, such as a username and password, and are used to track and remember information about the user.
They aid in the identification of a specific user's website activity, allow a website to "remember" user actions or preferences, allowing the website to tailor the user's experience as well as help in keeping a track of which websites users visit.
Types of cookies
- Session cookies – they exist only to record a user session and gets deleted immediately after the session expires.
- Persistent cookies – they remain persistently in the user’s browser abiding by their expiration date.
- Authentication cookies – they are generated when a user logs in to any account via the browser and helps in delivering the correct information to the users.
- Tracking cookies – they are usually generated to keep a record of user activities on the browser and are generated by tracking services.
- Zombie cookies – they get regenerated as and when they get deleted. They use a backup version of themselves to reappear within a browser.
Reading and Setting a Cookie
- setCookie() – to create a cookie with a specified expiration date using the max-age component/attribute.
- getCookie() – to read the value of the cookies. To get a single cookie from this list, use the split() method to divide it into individual name = value pairs.
- checkCookie() – to check whether colorName is set or not using the getCookie() function.
CODE
<script>
checkCookie();
function setCookie(color_name, css, daysToLive)
{
var cookie = color_name + "=" + encodeURIComponent(css);
if(typeof daysToLive === "number")
{
cookie += "; max-age=" + (daysToLive*24*60*60);
document.cookie = cookie;
}
}
function checkCookie()
{
var colorName = getCookie("colorName");
if(colorName == null)
{
setCookie("colorName", "{{css}}", 1);
document.head.innerHTML += '<link href="view/stylesheet/{{ css }}" type="text/css" rel="stylesheet"/>';
}
else
{
document.head.innerHTML += '<link href="view/stylesheet/'+ colorName +'" type="text/css" rel="stylesheet"/>';
}
}
function getCookie(color_name) {
var cookieArr = document.cookie.split(";");
for(var i = 0;i < cookieArr.length; i++)
{
var cookiePair = cookieArr[i].split("=");
if(color_name == cookiePair[0].trim())
{
return decodeURIComponent(cookiePair[1]);
}
}
return null;
}
</script>
Cookies are required for a website to function properly and can be helpful at times to keep a track of your business’ growth or audience requirements. They enable us to understand users and their behaviour patterns, allowing them to interpret the users' needs, thoughts, or experiences.
Guiding your business journey