Как исправить: теряются куки, установленные с помощью JS, пропадают бессистемно, какой-то закономерности не удается проследить?

На сайте есть участок кода, который сохраняет сведения о заказе в куки. Иногда они туда не записываются. Как отследить в чем может быть причина, как исправить?

var strAboutOrderAndClient = JSON.stringify(userGroupMenu);
strAboutOrderAndClient = encodeURIComponent(strAboutOrderAndClient); //декодируем, т.к. в куки кладем кириллические символы, а Safary их не переваривает
var date = new Date(new Date().getTime() + 60*60*24 * 1000);
var strForCookie = "usergroupmenu=" + strAboutOrderAndClient + "; path=/; expires=" + date.toGMTString();
document.cookie = strForCookie;
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 3
FFxSquall
@FFxSquall
Могу писать код, могу не писать
Куки могут быть попросту запрещены. Да и как правило сейчас такую информацию стараются хранить в других местах, напирмер в localStorage.

Можно сделать проверку:

if (navigator.cookieEnabled) {
  // сохраняем в куки
} else {
 // пишем в localStorage
}

Ну и соотвественно в месте где пытаемся вытащить с кук, если не получилось, смотреть в localStorage
Ответ написан
Комментировать
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Еще вариант, что у вас слишком много данных и они не помещаются в куки. Зависит от браузера, но там несколько килобайт лимит, насколько я помню.
Ответ написан
Комментировать
@AnastasiaL Автор вопроса
они пропадают даже тогда, когда куки разрешены
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы