Удаление Cookie - PullRequest
       1

Удаление Cookie

2 голосов
/ 31 июля 2011

Я создаю на своем сайте функцию добавления [ITEM], которая будет включать файлы cookie.Теперь часть Add [ITEM] работает, но мне нужно удалить [ITEM].Это мой код:

$(window).load(function(){
   function getCookie(c_name){
 var i,x,y,ARRcookies=document.cookie.split(";");
 for (i=0;i<ARRcookies.length;i++){
   x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
   y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
   x=x.replace(/^\s+|\s+$/g,"");
   if (x==c_name){
     return unescape(y);
     }}}
 function setCookie(c_name,value,exdays){
 var exdate=new Date();
 exdate.setDate(exdate.getDate() + exdays);
 var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
 document.cookie=c_name + "=" + c_value;
 }
     $(document).ready(function(){
var cookieyess=getCookie("save");
 if(cookieyess!==undefined&&cookieyess!==null&&cookieyess!==""){
$('#save1').show();
    }
    else{
 $('#save1').hide();
   }
 }); 
  $('#save_1').click(function(){
 var cookieyes=getCookie("save");
 if(cookieyes!==undefined&&cookieyes!==null&&cookieyes!==""){
$('#save1').show();
    }
    else{
 $('#save1').show();
        setCookie("save","yes",365);
    }
  });
});

Теперь мне нужно создать функцию, чтобы при нажатии кнопки Удалить она удаляла этот файл cookie.

Ответы [ 2 ]

2 голосов
/ 31 июля 2011

Чтобы удалить mycookie, это должно работать, установив дату истечения срока действия в прошлом:

setCookie("mycookie", "", -1)
1 голос
/ 31 июля 2011

Вот небольшая библиотека, которую я написал:

var myCookieHandler = (function () {
    return {
        createCookie: function (name, value, days) {
            var expires = "";
            if (days) {
                var date = new Date();
                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                expires = "; expires=" + date.toGMTString();
            }
            document.cookie = name + "=" + value + expires + "; path=/";
        },
        readCookie: function (name) {
            var nameEq = name + "=";
            var ca = document.cookie.split(';');
            var i;

            for (i = 0; i < ca.length; i++) {
                var c = ca[i];
                while (c.charAt(0) === ' ') { c = c.substring(1, c.length); }
                if (c.indexOf(nameEq) === 0) { return c.substring(nameEq.length, c.length); }
            }

            return null;
        },
        deleteCookie: function (name) {
            this.createCookie(name, null, -1);
        }
    };
}());

использование:

myCookieHandler .writeCookie("Login","true",2);

var cookieValue=myCookieHandler.readCookie("Login");

myCookieHandler.deleteCookie("Login");

Надеюсь, это поможет ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...