У меня была такая же проблема с JQuery версии 1.7.1 и JQuery печенья версии 1.4.1
Это сводило меня с ума, поэтому я решил погрузиться в исходный код, и я понял, что не так.
Вот определение $ .removeCookie
$.removeCookie = function (key, options) {
if ($.cookie(key) === undefined) { // this line is the problem
return false;
}
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return !$.cookie(key);
};
Как вы можете видеть, когда функция проверяет куки существует, то он не принимает параметры объекта во внимание. Поэтому, если вы находитесь на другом пути, чем файл cookie, который вы пытаетесь удалить, функция завершится с ошибкой.
Несколько решений:
Upgrade Jquery Cookies. Самая последняя версия даже не делает эту проверку здравомыслия.
или добавить это к вам документ готов
$.removeCookie = function (key, options) {
if ($.cookie(key, options) === undefined) { // this line is the fix
return false;
}
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return !$.cookie(key);
};
или когда удаление куки сделать что-то вроде этого:
$.cookie('cookie-name', '', { path: '/my/path', expires:-1 });
включили вы печенья плагин? По умолчанию jQuery не имеет методов 'cookie' и' removeCookie'. – kapa