Kolačići unutra JavaSkripta: Primjer postavljanja, dobivanja i brisanja

Što su kolačići?

Kolačić je dio podataka koji je pohranjen na vašem računalu kako bi mu pristupio vaš preglednik. Također ste mogli svjesno ili nesvjesno uživati ​​u prednostima kolačića. Jeste li ikada spremili svoju lozinku za Facebook kako je ne biste morali upisivati ​​svaki put kad se pokušate prijaviti? Ako da, onda koristite kolačiće. Kolačići se spremaju kao parovi ključ/vrijednost.

Zašto vam je potreban kolačić?

Komunikacija između a web preglednik i poslužitelj se događa korištenjem protokola bez stanja pod nazivom HTTP. Stateless protokol tretira svaki zahtjev neovisno. Dakle, poslužitelj ne čuva podatke nakon što ih pošalje pregledniku. Ali u mnogim će situacijama podaci ponovno biti potrebni. Ovdje dolaze kolačići u sliku. S kolačićima web-preglednik neće morati komunicirati s poslužiteljem svaki put kada su potrebni podaci. Umjesto toga, može se dohvatiti izravno s računala.

Javascript Postavite kolačić

Kolačiće možete izraditi pomoću dokumenta. svojstvo kolačića poput ovog.

document.cookie = "cookiename=cookievalue"

Možete čak dodati datum isteka svom kolačiću tako da će određeni kolačić biti uklonjen s računala na navedeni datum. Datum isteka treba postaviti u UTC/GMT formatu. Ako ne postavite datum isteka, kolačić će biti uklonjen kada korisnik zatvori preglednik.

document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC"

Također možete postaviti domenu i stazu kako biste odredili kojoj domeni i kojim direktorijima u određenoj domeni kolačić pripada. Prema zadanim postavkama, kolačić pripada stranici koja postavlja kolačić.

document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC; path=/ "

//stvori kolačić s domenom do trenutne stranice i putanjom do cijele domene.

JavaSkripta get Cookie

Možete pristupiti kolačiću na ovaj način koji će vratiti sve kolačiće spremljene za trenutnu domenu.

var x =  document.cookie

JavaSkripta Izbriši kolačić

Da biste izbrisali kolačić, samo trebate postaviti vrijednost kolačića na prazno i ​​postaviti vrijednost isteka na prošli datum.

document.cookie = "cookiename= ; expires = Thu, 01 Jan 1970 00:00:00 GMT"

Isprobajte ovaj primjer sami

Posebne upute za rad koda... Dvaput pritisnite gumb za pokretanje

<html>
<head>
	<title>Cookie!!!</title>
	<script type="text/javascript">
		function createCookie(cookieName,cookieValue,daysToExpire)
        {
          var date = new Date();
          date.setTime(date.getTime()+(daysToExpire*24*60*60*1000));
          document.cookie = cookieName + "=" + cookieValue + "; expires=" + date.toGMTString();
        }
		function accessCookie(cookieName)
        {
          var name = cookieName + "=";
          var allCookieArray = document.cookie.split(';');
          for(var i=0; i<allCookieArray.length; i++)
          {
            var temp = allCookieArray[i].trim();
            if (temp.indexOf(name)==0)
            return temp.substring(name.length,temp.length);
       	  }
        	return "";
        }
		function checkCookie()
        {
          var user = accessCookie("testCookie");
          if (user!="")
        	alert("Welcome Back " + user + "!!!");
          else
          {
            user = prompt("Please enter your name");
            num = prompt("How many days you want to store your name on your computer?");
            if (user!="" && user!=null)
            {
            createCookie("testCookie", user, num);
            }
          }
        }
	</script>
</head>
<body onload="checkCookie()"></body>
</html>