Если я правильно понимаю, у вас есть что-то вроде этого:
$(document).ready(function() {
//setting the cokie
if($.cookie('checkCook') == '2'){
alert($.cookie('checkCook'));
$.cookie('checkCook', null);
}
});
$.cookie('checkCook', '2');
Что вы ожидаете, так это то, что ваш звонок на $.cookie('checkCook', null);
удалит cookie, но при каждом обновлении страницы cookie сбрасывается на '2', а ваш звонок на $.cookie('checkCook', '2');
.
Поскольку $.cookie('checkCook', '2');
находится за пределами вашей функции doc.ready, она вызывается, как только браузер нажимает на нее (запомните, страница загружается сверху вниз), и блок doc.ready задерживается до загрузки dom , Это означает, что код $.cookie('checkCook', '2');
выполняется перед блоком doc.ready. Вот почему вы всегда получаете предупреждение о том, что значение равно «2». Файл cookie получает set при каждом обновлении страницы и до вызова 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');
}