我正在學習,如果這是一個明顯的錯誤,請善待。爲什麼我的cookie沒有設置?
/*set cookie*/
function setCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
setCookie(name,"",-1);
}
$(window).load(function() {
//check for the cookie
var language = readCookie('language');
//if null show red
if (language!=null)
{
$('.blue').hide();
alert('No cookie set');
}
//if null show red
else if (language!=red)
{
$('.blue').hide();
alert('The cookie is red');
}
//if blue show blue
else {
$('.red').hide();
alert('The cookie is set to blue');
}
$('#blue').click(function() {
$('.red').hide();
$('.blue').show();
setCookie('language','blue', 30);
alert('The cookie is set to blue');
});
$('#red').click(function() {
$('.red').show();
$('.blue').hide();
setCookie('language','red', 30);
alert('The cookie is set to red');
});
});
謝謝你。
謝謝。這是我的問題主要是我不知道大多數地方的預期。我使用記事本++,所以有着色,但它並不突出,因爲我不知道應該在那裏。 我不明白爲什麼它看起來我設置cookie setCookie('language','blue',30); 過期30天,但當我檢查在Firefox中的cookie信息有沒有cookie。 – Laura 2009-12-19 00:07:29
你如何檢查cookie?使用JS? FF的「Cookies」對話框?附加?你使用的是什麼版本的FF?當我在FF 3.5中測試它時,您的代碼爲我設置了一個cookie。 – outis 2009-12-19 04:37:22
是的,使用FF 3.5.6中的開發工具欄。 Cookies已啓用。 非常感謝您的幫助。 – Laura 2009-12-19 08:01:15