Soubory cookie v JavaScript: Set, Get & Delete Example

Co jsou cookies?

Cookie je část dat, která jsou uložena ve vašem počítači, aby k nim měl přístup váš prohlížeč. Také jste mohli vědomě či nevědomě využívat výhod cookies. Uložili jste si někdy své heslo k Facebooku, abyste ho nemuseli zadávat pokaždé, když se pokoušíte přihlásit? Pokud ano, pak používáte cookies. Cookies se ukládají jako páry klíč/hodnota.

Proč potřebujete cookie?

Komunikace mezi a webový prohlížeč a server se děje pomocí bezstavového protokolu s názvem HTTP. Bezstavový protokol zpracovává každý požadavek nezávisle. Server tedy data po odeslání do prohlížeče neuchovává. Ale v mnoha situacích budou data vyžadována znovu. Tady jsou sušenky do obrázku. S cookies nebude muset webový prohlížeč komunikovat se serverem pokaždé, když jsou vyžadována data. Místo toho jej lze načíst přímo z počítače.

Javascript Nastavit cookie

Soubory cookie můžete vytvářet pomocí dokumentu. vlastnost cookie, jako je tato.

document.cookie = "cookiename=cookievalue"

Ke svému cookie můžete dokonce přidat datum vypršení platnosti, takže konkrétní soubor cookie bude k určenému datu z počítače odstraněn. Datum expirace by mělo být nastaveno ve formátu UTC/GMT. Pokud datum vypršení platnosti nenastavíte, soubor cookie bude odstraněn, když uživatel zavře prohlížeč.

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

Můžete také nastavit doménu a cestu a určit, do které domény a do kterých adresářů v konkrétní doméně cookie patří. Ve výchozím nastavení patří soubor cookie stránce, která soubor cookie nastavuje.

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

//vytvoří cookie s doménou k aktuální stránce a cestou k celé doméně.

JavaSkript get Cookie

K cookie můžete přistupovat takto, což vrátí všechny soubory cookie uložené pro aktuální doménu.

var x =  document.cookie

JavaSkript Odstranit cookie

Chcete-li smazat cookie, stačí nastavit hodnotu cookie na prázdnou a nastavit hodnotu expires na prošlé datum.

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

Zkuste tento příklad sami

Speciální pokyny pro zprovoznění kódu… Stiskněte dvakrát tlačítko spuštění

<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>