2011-07-31 117 views
2

我正在爲我的網站創建一個添加[ITEM]功能,該功能將包含Cookie。 現在添加[ITEM]部分工作,但我需要刪除[ITEM]。 這是我的代碼:刪除Cookie

$(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。

+0

你有你的「刪除」cookie的代碼嗎?您應該可以將過期日期設置爲過去以執行此操作。 – rkaregaran

回答

2

要刪除mycookie,這應該由過去設定的截止日期工作:

setCookie("mycookie", "", -1) 
+0

so like: $('#del1')。click(function(){ setCookie(「save」,「」,-1) }); 對不對? – Shawn31313

+0

是的,這應該工作。 –

1

這裏是我寫了一個小庫:

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"); 

希望這會有所幫助..