2015-04-22 37 views
1

我正在使用以下功能清除所有可用的cookie。 這個清除了PHPSESSID,據我所知。我想只保留一個cookie。如何刪除我的網站上的所有Cookie除了一個

我添加了這一行:if (name == "PHPSESSID") {... ...嘗試捕捉並跳過,更改cookie名稱PHPSESSID,但它由於某種原因沒有捕獲它。

有沒有明顯的原因,爲什麼它沒有捕捉,或者是否有更好的方式來實現清除除「PHPSESSID」之外的所有cookie?

的功能:

function clearCookies() { 

    var cookies = document.cookie.split(";"); 
    for(var i=0; i < cookies.length; i++) { 
     var equals = cookies[i].indexOf("="); 
     var name = equals > -1 ? cookies[i].substr(0, equals) : cookies[i]; 
     if (name == "PHPSESSID") { 
      alert("yes"); 
     }else{ 
      document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; 
      alert(name); 

     } 
    } 
} 
+0

你可以記錄名稱併發布輸出結果嗎? –

+2

你確定這個cookie不是高尚的,如果不是,你可以將它設置爲httponly,它根本無法通過javascript訪問,這是件好事 – adeneo

+0

嘗試更改會話名稱'session_name('someName 「); ',然後嘗試 –

回答

1

您好我用DevTool的控制檯日誌,而不是餅乾觀衆找到了答案。當PHPSESSID由於某種原因設置時,會有一個空格。所以 「PHPSESSID」的作品。

這裏的解決方案:輸出它在控制檯日誌而不是警報。