Функция ".toGMTString ()" не предоставляет строки даты в формате, необходимом для синтаксиса cookie.Ваша жестко запрограммированная дата для функции «удалить» верна, но попробуйте
alert(new Date().toGMTString())
и посмотрите, что вы получите - без черточек между частями даты.
Другие не относящиеся к делу примечания:вам не нужен атрибут "language" в вашем теге <script>
, а также вам не нужен устаревший HTML-комментарий вокруг тела скрипта;это перестало быть необходимым около 12 лет назад.
edit - чтобы быть немного более полезным, чтобы назначить дружескую встречу с cookie, я бы, наверное, просто собрал строку сам.
function cookieDate(d) {
function d2(n) { return n < 10 ? '0' + n : n; }
var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
return '' +
days[d.getUTCDay()] + ', ' +
d2(d.getUTCDate()) + '-' +
months[d.getUTCMonth()] + '-' +
d.getUTCFullYear() + ' ' +
d2(d.getUTCHours()) + ':' +
d2(d.getUTCMinutes()) + ':' +
d2(d.getUTCSeconds()) + ' GMT';
}
Тогда вы можете просто вызвать cookieDate (someDate), чтобы получить красивую строку.
Вот jsfiddle.