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
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.
Bir önceki aya'c ilk ve son gün t...
Alt bash sayısal ve arg [sayısal]) ne ...
Cihaza geçerli bir dil olsun...
ASP.NET MVC LabelFor Yardımcı kullanma...
C (son bölüm) geçerli dizin adı olsun#...