v2.5.2
Giriş yap

Hazır bir JS'ye nasıl Cookie eklenir?

abdulkadirkaya
719 defa görüntülendi

Merhabalar,

aşağıdaki hazır bir JS kod var elimden, kütüphaneden buldum buna nasıl Cookie tanımlayabiliriz acaba?

function dodajAktywne(elem) {
    var a = document.getElementsByTagName('storieCard');
    for (i = 0; i < a.length; i++) {
        a[i].classList.remove('active')
    }
    elem.classList.add('active');
}

Yardım için simdiden teşekkürler.

Cevap yaz
Cevaplar (3)
sefac
1309 gün önce

Ad kısmına activeState yazıp value'ya da duruma göre 0 ya da 1 yaz. Kendi fonksiyonunda active class'ını eklediğin yerde de
Tayfun hocanın fonksiyonunu kullanıp cookie ekle.
Daha sonra da active durumunu kontrol et. Cookieleri okumak için bu fonksiyonu kullabilirsin:

function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

getCookie(activeState);
abdulkadirkaya
1310 gün önce

@tayfunerbilen hocam merhabalar, mesajınızı ancak görüyorum kusuruma bakmayınız, demek istediğim sorumu tam detaylı anlatamadım affolayınız.

Yukarıdaki benim verdiğim kod #storieCard id değerini HTML'de tıklanınca active classı ekleniyor ancak sayfa yenilediği zaman o active classı gidiyor, bu yüzden buna Cookie eklemeyi düşünmüştüm.
Attığınız kodunu "ad" kısmında storieCard olarak mı ekleyeceğim acaba? JS hakkında çok fazla bilgim yok hocam

tayfunerbilen
1318 gün önce

javascript'de cookie oluşturmak belli bir şey, bu koda özel bir şey mi yapmak istedin anlayamadım sorunu. Aşağıdaki gibi cookie oluşturabilirsin, kodunun içindede istediğin yerde kullanabilirsin zaten fonksiyon yani çok karmaşık bir kodun yok :)

function setCookie(name, value, days) {
    var date = new Date();
    date.setDate(date.getDate() + days);
    document.cookie = name + '=' + escape(value) + '; expires=' + date.toUTCString();
    console.log('cookie ' + name + ' created');
}
setCookie('ad', 'değer', 3); // 3 günlük ad adında değer depolayan cookie oluşturduk