Невозможно установить атрибут SameSite для файла cookie с помощью JavaScript в iFrame

#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;
}
  

Я уверен, что упускаю что-то потрясающе очевидное, но это сводит меня с ума. (Или это просто невозможно сделать?)

(О, и это мой первый пост — пожалуйста, будьте нежны!)

Спасибо.