Witam.
Stworzyłem skrypt, dzięki któremu po wejściu na stronę wyświetlany jest komunikat odnośnie przetwarzania danych i polityki cookies. Poniżej znajduje się również lista partnerów współpracujących ze stroną i przy każdym z nich widnieje link do polityki prywatności oraz checkbox, dzięki któremu można zatwierdzić poszczególnego partnera. Wszystko działa prawidłowo. Po zaakceptowaniu okna, ciasteczka zostają zapisane prawidłowo i wszystkie ciasteczka dla partnerów (jest ich 585 + jedno ogólne odnośnie zaakceptowania popupa) zostają utworzone z wartością true lub false, w zależności od zaakceptowania. W zakładce "Dane" przy cookies dla danej strony jest jedynie problem, że nie widać tam ciasteczka dla partnera z indeksem zerowym, jednak po wpisaniu w konsoli document.cookie lub użyciu stworzonej przeze mnie funkcji getCookies("popup-checkbox-0"); ciasteczko to jest widoczne. To pierwszy problem. Drugim jest to, że gdy strona zostanie zamknięta i ponownie się na nią wejdzie to większość ciasteczek po prostu znika, a zostają wyłącznie od popup-checkbox-420 aż do końca. Co się dzieje z pozostałymi 420 ciasteczkami? Nie mam pojęcia. Po wpisaniu document.cookie również pojawiają się tylko ciasteczka od popup-checkbox-420 w górę + jedno ogólne dla popupa. Mam nadzieję, że ktoś z Was może będzie wiedział i mi pomoże. Poniżej zamieszczam kawałek kodu, a konkretnie funkcji, która odpowiada za wciśnięcie przycisku akceptacji, jednak to raczej nie z kodem jest coś nie tak, ponieważ domyślnie działa on prawidłowo (z wyjątkiem tego, że nie widać zerowego ciasteczka w Danych). Problem pojawia się dopiero przy ponownym wejściu na stronę.
PS: trzeci argument w funkcji setCookie (1), to liczba dni na jaką ustawiane jest ciasteczko.
function acceptPopup(amount) {
console.log(amount)
for (i = 0; i < amount; i++) {
let checkbox = document.getElementById("popup-checkbox-" + i).checked;
if (checkbox) {
setCookie("popup-checkbox-" + i, true, 1);
console.log(i + ' true');
} else {
setCookie("popup-checkbox-" + i, false, 1);
console.log(i + ' false');
}
}
setCookie("popupCookies", true, 1);
window.onscroll = function () { };
document.body.removeChild(popup);
}