Подтвердить что ты не робот

Как удалить сессию cookie?

Как динамически, через javascript, удалять куки файлы сеанса без ручного перезапуска браузера?

Я где-то читал, что файл cookie сеанса сохраняется в памяти браузера и будет удален при закрытии браузера.

// sessionFooCookie is session cookie
// this code does not delete the cookie while the browser is still on
jQuery.cookie('sessionFooCookie', null);

Спасибо.

Дополнительная информация: фрагмент кода, приведенный выше, является javascript code snippet, используя jQuery и его плагин jQuery.cookie.

4b9b3361

Ответ 1

Сессионный файл cookie - это обычный файл cookie без истечения срока действия. Эти действия обрабатываются браузером, чтобы он был действительным до тех пор, пока окно не будет закрыто или программа не выйдет.

Но если cookie представляет собой cookie httpOnly (cookie с параметром httpOnly), вы не можете читать, изменять или удалите его из-за пределов HTTP.

Ответ 2

Обязательно укажите тот же путь, что и при его настройке, т.е.

Установка:

$.cookie('foo','bar', {path: '/'});

Удаление:

$.cookie('foo', null, {path: '/'});

Обратите внимание, что

$.cookie('foo', null); 

НЕ будет работать, поскольку на самом деле это не тот же файл cookie.

Надеюсь, что это поможет. То же самое относится к другим параметрам в хеше

Ответ 3

Известны проблемы с IE и Opera, которые не удаляют файлы cookie сеанса при установке даты истечения срока действия в прошлом (что и делает плагин cookie jQuery)

Это отлично работает в Safari и Mozilla/FireFox.

Ответ 5

Это нужно сделать на стороне сервера, где был выдан файл cookie.

Ответ 6

Удаление jQuery cookie:

$(function() {
    var COOKIE_NAME = 'test_cookie';
    var options = { path: '/', expires: 10 };
    $.cookie(COOKIE_NAME, 'test', options); // sets the cookie
    console.log( $.cookie( COOKIE_NAME)); // check the value // returns test
    $.cookie(COOKIE_NAME, null, options);   // deletes the cookie
    console.log( $.cookie( COOKIE_NAME)); // check the value // returns null
});