Печенье в JavaСкрипт: пример установки, получения и удаления

Что такое файлы cookie?

Файл cookie — это часть данных, которая хранится на вашем компьютере и доступна вашему браузеру. Вы также могли сознательно или неосознанно воспользоваться преимуществами файлов cookie. Вы когда-нибудь сохраняли свой пароль Facebook, чтобы вам не приходилось вводить его каждый раз, когда вы пытаетесь войти в систему? Если да, то вы используете файлы cookie. Файлы cookie сохраняются как пары ключ/значение.

Зачем вам нужен файл cookie?

Связь между веб-браузер и сервер использует протокол без сохранения состояния с именем HTTP. Протокол без сохранения состояния рассматривает каждый запрос независимо. Таким образом, сервер не сохраняет данные после отправки их в браузер. Но во многих ситуациях данные потребуются снова. Вот и печенье на картинке. Благодаря файлам cookie веб-браузеру не придется связываться с сервером каждый раз, когда требуются данные. Вместо этого его можно получить непосредственно с компьютера.

Javascript Установить файл cookie

Вы можете создавать файлы cookie, используя document. свойство cookie, подобное этому.

document.cookie = "cookiename=cookievalue"

Вы даже можете добавить дату истечения срока действия вашего файла cookie, чтобы конкретный файл cookie был удален с компьютера в указанную дату. Дата истечения срока действия должна быть установлена ​​в формате UTC/GMT. Если вы не установите дату истечения срока действия, файл cookie будет удален, когда пользователь закроет браузер.

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

Вы также можете установить домен и путь, чтобы указать, какому домену и каким каталогам в конкретном домене принадлежит файл cookie. По умолчанию файл cookie принадлежит странице, на которой он установлен.

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

//создаем cookie с доменом текущей страницы и путем ко всему домену.

JavaСкрипт получения куки

Вы можете получить доступ к файлу cookie следующим образом, который вернет все файлы cookie, сохраненные для текущего домена.

var x =  document.cookie

JavaСкрипт удаления куки

Чтобы удалить файл cookie, вам просто нужно установить значение файла cookie пустым и установить значение срока действия на прошедшую дату.

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

Попробуйте этот пример сами

Специальные инструкции, чтобы код заработал… Дважды нажмите кнопку запуска.

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