#javascript #google-chrome #cookies #samesite
#javascript #google-chrome #файлы cookie #samesite
Вопрос:
У меня проблема с установкой cookie с SameSite = none с использованием JavaScript.
У меня есть сайт клиента, который загружает содержимое с нашего сайта в iFrame. Мне нужно иметь возможность установить cookie на компьютере пользователя (сайта клиента), который запомнит предпочтения макета при следующем посещении пользователем iFrame.
У меня есть следующий код, который отлично работает в браузерах, отличных от Chrome:
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;
}
Однако, если я добавлю строку (выделенную ниже) для добавления атрибутов SameSite и Secure, файл cookie не будет установлен (ни в одном браузере):
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());
**if (c_name == "preferenceCookie") { c_value = ";SameSite=None;Secure" };**
document.cookie = c_name "=" c_value;
}
Я уверен, что упускаю что-то потрясающе очевидное, но это сводит меня с ума. (Или это просто невозможно сделать?)
(О, и это мой первый пост — пожалуйста, будьте нежны!)
Спасибо.