如果我理解正確的話,你有什麼設置這樣的:
$(document).ready(function() {
//setting the cokie
if($.cookie('checkCook') == '2'){
alert($.cookie('checkCook'));
$.cookie('checkCook', null);
}
});
$.cookie('checkCook', '2');
你所期待的是,你要$.cookie('checkCook', null);
的通話將刪除cookie,但在頁面的每次刷新,在您致電$.cookie('checkCook', '2');
時,cookie會重置爲'2'。
由於$.cookie('checkCook', '2');
不在您的doc.ready函數中,因此只要瀏覽器觸及它,它就會立即被調用(請記住,頁面自上而下加載),並且doc.ready塊會延遲,直到加載dom。這意味着$.cookie('checkCook', '2');
代碼在之前執行doc.ready塊。這就是爲什麼你總是得到警報,指出值是'2'。 Cookie在每個頁面刷新時都會變得設置爲,並且在調用alert
之前。
你可以做的是將cookie設置代碼包裝在一個函數中,並從doc.ready中調用它。這會延遲cookie的設置,直到執行之後的。
$(document).ready(function() {
//setting the cokie
if($.cookie('checkCook') == '2'){
alert($.cookie('checkCook'));
$.cookie('checkCook', null);
}
setCookie();
});
function setCookie()
{
$.cookie('checkCook', '2');
}
這不是文檔所說的。 '.cookie('checkCook',null)'應該就夠了。 –
是的,似乎最新的插件版本將過期放在過去,如果你給字面null作爲價值。 –