JavaScript ile çerez ayarlama ve çerez alma
HTML'imde hangi CSS dosyasını seçtiğime bağlı olarak bir çerez ayarlamaya çalışıyorum. Seçenekler listesi olan bir formum ve değer olarak farklı CSS dosyalarım var. Bir dosya seçtiğimde, yaklaşık bir hafta boyunca bir çerezde saklanmalıdır. HTML dosyanızı bir sonraki açışınızda, seçtiğiniz önceki dosya olmalıdır.
JavaScript kodu:
function cssLayout() {
document.getElementById("css").href = this.value;
}
function setCookie(){
var date = new Date("Februari 10, 2013");
var dateString = date.toGMTString();
var cookieString = "Css=document.getElementById("css").href" + dateString;
document.cookie = cookieString;
}
function getCookie(){
alert(document.cookie);
}
HTML kodu:
<form>
Select your css layout:<br>
<select id="myList">
<option value="style-1.css">CSS1</option>
<option value="style-2.css">CSS2</option>
<option value="style-3.css">CSS3</option>
<option value="style-4.css">CSS4</option>
</select>
</form>
482
3
Bunlar w3schools'dan (şimdiye kadar yapılmış en berbat web referansı) çok çok daha iyi referanslardır:
Bu referanslardan türetilen örnekler:
Mozilla referansında kullanabileceğiniz güzel bir çerez kütüphanesi bile var.
Bu sorunun, çerezlerle anahtar-değer çiftleri olarak çalışan bazı yeniden kullanılabilir kodlarla daha genel bir cevabı olması gerektiğinden eminim.
Bu parça MDN'den alınmıştır ve muhtemelen güvenilirdir. Bu, çerezlerle çalışmak için UTF-güvenli bir nesnedir:
Mozilla'nın bunun her durumda işe yaradığını kanıtlayan bazı testleri var.
Alternatif bir parçacık var burada:
JS aracılığıyla çerez değerlerini ayarlamak ve almak için [W3Schools.com'da JavaScript Çerezleri][1] bölümüne bakın.
Burada bahsedilen setCookie ve getCookie yöntemlerini kullanmanız yeterlidir.
Yani, kod aşağıdaki gibi görünecektir: