Wątek przeniesiony 2023-06-05 14:36 z JavaScript przez Riddle.

Stworzenie cookie z datą ważności

0

Cześć, czy może mi ktoś pomóc i napisać dlaczego poniższy kod nie działa? Siedze na tym już parę godzin i grzebie i nie mogę dojść dlaczego to mi nie łapie. Patrzyłem na forum i nie znalazłem takiego problemu.

Jak daje w console loga zmienne to ladnie wyswietla cookies - czyli je zczytuje. W konsoli nie ma bledow. Niestety skrypt nie zmienia daty cookies po kliknieciu przycisku:(

 let cookies = document.cookie.split(";");

 const setCookieDate = () => {

    cookies.forEach((cookie) => {
        const cookieParts = cookie.split("=");
        const cookieName = cookieParts[0].trim();
        const expirationDate = new Date("Thu, 01 Jan 1970 00:00:00 GMT");
        document.cookie = `${cookieName}=; expires=${expirationDate.toUTCString()}; path=/`;
        console.log(cookieParts);
        console.log(cookieName);
        console.log(cookieName)
        console.log(expirationDate)
    });
 };
 
 const delcookie = () => {
   console.log(cookies);
   
   setCookieDate();
   div2.classList.add('cookiesbox-n');
   localStorage.setItem("cookiesdeclined", true);
   
 };


 buttondecline.addEventListener('click', delcookie)
0

A co próbujesz zrobić tak na prawdę?

4

cookies jest już przeterminowane, gdy je ustawiasz, więc jakby to miało działać?

0

No dokładnie próbuje ustawić cookies na przeterminowane. Robie popup cookies i gdy użytkownik kliknie odrzuć ma ustawiać cookies na przeterminowane.

0
szatkus1 napisał(a):

cookies jest już przeterminowane, gdy je ustawiasz, więc jakby to miało działać?

cookies ma miec nadana date przeszla, w przypadku gdy uzytkownik kliknie przycisk odrzuc na powiadomieniu o cookies.

0

użyj jakiejś libki do ciastek i z głowy, pierwsza lepsza: https://www.npmjs.com/package/js-cookie

szkoda się bawić w ręczne zabawy, jak zostało to zrobione już 9001 razy

0

dodanie biblioteki nic nie daje, teraz dodalem biblioteke cookies i z niej korzystam i tez cookies sie nie usuwaja....

Czy to mozliwe ze cos blokuje manipulowanie cookies z poziomu kodu?

Teraz kod wyglada jak nizej:

Cookies.set('testcookie', 'value')
Cookies.set('testcookie2', 'value2')

 let cookiess = document.cookie.split(";");

 const setCookieDate = () => {
      cookiess.forEach((cookie) => {
        const cookieParts = cookie.split("=");
        const cookieName = cookieParts[0].trim();
        const cookieValue = cookieParts[1].trim();
      
        Cookies.remove(`${cookieName}`, { path: '' })
 
        console.log(cookieName)
        console.log(cookieValue)
    });
 };
 
 const delcookie = () => {
   console.log(cookiess);
   
   setCookieDate();
   div2.classList.add('cookiesbox-n');
   localStorage.setItem("cookiesdeclined", true);
   
 };


 buttondecline.addEventListener('click', delcookie)
0

Że tak powiem, u mnie działa. Upewnij się, że ciacho nie ma flagi HttpOnly, bo wtedy go nie ruszysz z poziomu JS.

0
szatkus1 napisał(a):

Że tak powiem, u mnie działa. Upewnij się, że ciacho nie ma flagi HttpOnly, bo wtedy go nie ruszysz z poziomu JS.

wrzuciles ten moj kod i on u Ciebie dziala?

1 użytkowników online, w tym zalogowanych: 0, gości: 1