Срок действия cookie истекает через 30 секунд

#javascript #cookies

#javascript #файлы cookie

Вопрос:

Может ли кто-нибудь обновить следующий код, чтобы срок действия cookie истек через 30 секунд.

 function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate()   exdays);
    var c_value = escape(value)   ((exdays == null) ? "" : "; expires="   exdate.toUTCString());
    document.cookie = c_name   "="   c_value;
}
 

Комментарии:

1. Итак … вы выполнили копирование / вставку из w3schools… Quirksmode имеет лучшее объяснение файлов cookie в JavaScript: quirksmode.org/js/cookies.html

2. Что ты пытаешься сделать? Почему вы хотите, чтобы срок его действия истекал так быстро?

3. @Jason Могут быть случаи, когда вы просто хотите передавать данные между страницами, не отправляя эту информацию по проводам. В подобных случаях быстро истекающий cookie делает хорошую работу.

Ответ №1:

 function createCookie(name, value) {
   var date = new Date();
   date.setTime(date.getTime() (30*1000));
   var expires = "; expires=" date.toGMTString();

   document.cookie = name "=" value expires "; path=/";
}
 

Комментарии:

1. Почему мы используем toGMTString() в expires ? Есть ли какая-то конкретная причина?

Ответ №2:

При установке файла cookie можно указать максимальный возраст в секундах:

 function setCookie(name, value, maxAgeSeconds) {
    var maxAgeSegment = "; max-age="   maxAgeSeconds;
    document.cookie = encodeURI(name)   "="   encodeURI(value)   maxAgeSegment;
}
 

Использование:

 setCookie("username", "blaise", 30);