Ответ 1
Неа. Не может быть сделано. "Способ" заключается в том, чтобы сделать дату истечения срока действия равной 2020 году.
Я хотел бы настроить cookie, который никогда не истекает. Возможно ли это?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
Я не хочу, чтобы дата была действительно большой, мне просто интересно, было ли значение параметра expires в файле cookie, который сказал, что он никогда не истекает.
Спасибо.
Неа. Не может быть сделано. "Способ" заключается в том, чтобы сделать дату истечения срока действия равной 2020 году.
Нет синтаксиса для того, что вы хотите. Не истекает срок действия истечения срока действия файла cookie в конце сеанса. Единственный вариант - выбрать какое-нибудь сколь угодно большое значение. Имейте в виду, что некоторые браузеры имеют проблемы с датами за 2038 год (когда время эпохи unix превышает 32-битный int).
Вы можете сделать в качестве примера Документы Mozilla:
document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
P.S
Конечно, будет проблема, если человечество по-прежнему будет использовать ваш код в первую минуту года 10000:)
Вы можете установить cookie с датой истечения месяца или еще что-то, а затем переназначить файл cookie каждый раз, когда пользователь снова посещает веб-сайт.
Если вы не установите дату истечения срока действия, cookie истечет в конце сеанса пользователя. Я рекомендую использовать дату до того, как время unix эпохи продлит прошло 32-битное целое число. Чтобы поместить это в файл cookie, вы должны использовать document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;
, считая, что randomCookie
- это cookie, который вы устанавливаете, и true
- это соответствующее значение.
Все файлы cookie истекают согласно cookie спецификация, Максимальное значение, которое вы можете установить,
2^31 - 1 = 2147483647 = 2038-01-19 04:14:07
Таким образом, максимальное время жизни печенья
$.cookie('subscripted_24', true, { expires: 2147483647 });
ВЫ ПРОСТО НЕ МОЖЕТ. Там нет точного кода, который можно использовать для установки вечного файла cookie, но будет использоваться старый трюк, например current time + 10 years
.
Просто отметьте, что любые даты за пределами January 2038
обрекут вас на файлы cookie (32-битный int), будут удалены мгновенно. Пожелайте чуду, что это будет исправлено в ближайшем будущем. Для 64-битного int, годы вокруг 2110
будут безопасными. Со временем программное обеспечение и аппаратное обеспечение изменятся и никогда не смогут адаптироваться к более старым (вещи, которые у нас есть сейчас), поэтому подготовьте сейчас на будущее.
Если вы собираетесь читать данные только с клиентской стороны, вы можете использовать локальное хранилище. Он удаляется только при очистке кеша браузера.
Просто пропустите параметр expires в инициализаторе объектов. Он отлично работает для меня.