Понимание истечения срока действия cookie - и как установить - PullRequest
1 голос
/ 12 ноября 2011

Я использую куки-файл на своем сайте, чтобы отображать colorbox один раз при загрузке страницы, после чего пользователь имеет возможность каждый раз вручную загружать colorbox. Но я не понимаю, как вы устанавливаете дату истечения срока действия cookie. Я получил необходимый код от другого вопроса здесь, на SO, и было бы полезно, если бы кто-то мог объяснить мне, что здесь есть.

var $j = jQuery.noConflict();

$j(document).ready(function(){

   if (document.cookie.indexOf('visited=true') == -1) 
   {
      var fifteenDays = 1000*60*60*24*15;
      var expires = new Date((new Date()).valueOf() + fifteenDays);
      document.cookie = "visited=true;expires=" + expires.toUTCString();
      $j.colorbox({ inline:true, href:"#gallery-nav-instruct"});
   }

});

Полагаю, это означает, что срок действия файла cookie истекает через 15 дней. Как бы я изменил это на дольше? Скажите 30 или 60 дней?

Ответы [ 2 ]

4 голосов
/ 12 ноября 2011

Здесь необходимо отметить

var fifteenDays = 1000*60*60*24*15;

15 дней, каждый из которых имеет 24 часов, каждый из которых имеет 60 минут, каждый 60 секунд.

Последний фактор равен 1000. Поэтому переменная fitteenday содержит число миллисекунд за 15 дней.

var expires = new Date((new Date()).valueOf() + fifteenDays);

Это утверждение подразумевает, что дата истечения срока действия куки-файла равна любой текущей дате плюс 15 дней.

Так что в вашем случае, когда вы хотите, чтобы срок действия 15 или 30 дней, вам просто нужно заменить 15 на те дни, которые вы помните

0 голосов
/ 22 октября 2014

Для практических целей приведем простую таблицу.

var expires = new Date((new Date()).valueOf() + time);

, где время = следующее:

  • 1 миллисекунда: время = 1
  • 1 секунда: время = 1000
  • 1 минута: время = 60 *1000* 1017 *
  • 1 час: время = 60 * 60 *1000* 1021 *
  • 1 день (24 часа): время = 24 * 60 * 60 *1000* 1025 *
  • 1 средний месяц (29,6 дней): время = 29,6 * 24 * 60 * 60 *1000* 1029 *
  • 1 год (365,24): время = 365,24 * 24 * 60 * 60 *1000* 1033 *
...