SORU
24 Mayıs 2012, PERŞEMBE


Adı cookie olsun

Bir çerez değerini almak için bir alıcı var.

Şimdi adı obligations= adı shares= ve 2 kurabiye var .

Bu alıcı yapmak istiyorum.

Bunu nasıl yapabilirim? 'Ayrı değerler halinde veri böler ve bir dizi koyar. yani

 function getCookie1() {
// What do I have to add here to look only in the "obligations=" cookie? 
// Because now it searches all the cookies.

    var elements = document.cookie.split('=');
    var obligations= elements[1].split('%');
    for (var i = 0; i < obligations.length - 1; i  ) {
        var tmp = obligations[i].split('$');
        addProduct1(tmp[0], tmp[1], tmp[2], tmp[3]);
    }
 }

CEVAP
30 Mart 2013, CUMARTESİ


Bir dizi üzerinden yineleme kaçınan bir yaklaşım olur.

function getCookie(name) {
  var value = "; "   document.cookie;
  var parts = value.split("; "   name   "=");
  if (parts.length == 2) return parts.pop().split(";").shift();
}

İzlenecek yol

Yarma bir dize belirteci üretecek ya, bir dizi ile bir dize (aynı değer) durum belirteci yoksa, bir dize veya bir dizi ile iki dizeleri , diye delil bulunan bir dize .

(Solda) ilk element simgesi önce ne dize ve ikinci bir (sağ) simge sonra ne dize.

Token, ilk elemanı ile başlar dize boş bir dize) diye (NOT:

Bu tanımlama dikkate alındığında aşağıdaki gibi saklanır

"{name}={value}; {name}={value}; ..."

özel çerez değerini almak için, biz sadece sonra Dize almak gerekir "; {ad}=" ve bir sonraki ";". Herhangi bir işlem yapmadan önce, kurabiyeyi dize biz önüne "; " her cookie adı, ilki de dahil olmak üzere, kapalı "; " ve "=":

"; {name}={value}; {name}={value}; ..."

Şimdi, biz ilk split "; {ad}=", ve eğer bir simge bulunan bir çerez dize (yani iki element) sonu ile ikinci unsuru olan bir dize ile başlayan bizim çerez değer. O zaman biz çıkarma bir dizi (örneğin pop), ve tekrar aynı süreç, ama şimdi ";" gibi bir simge, ama bu sefer çekerek sol dize (yani shift) almak gerçek token değer.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • Machinima

    Machinima

    17 Ocak 2006
  • Make:

    Make:

    23 Mart 2006