2014-09-19 55 views
3

如果用戶關閉瀏覽器窗口/標籤,我正在尋找刪除所有Cookie的可能性。有沒有機會觸發一個事件或其他事情?在離開網站時刪除角落餅乾

+0

當用戶可能有多個同一網站的標籤打開時,情況如何?爲什麼不對「註銷」方法進行清理? – 2014-09-19 14:03:49

+1

爲什麼你不使用會話存儲? – 2014-09-19 14:43:58

回答

0

試試這個:

function clearCookies(){ 
    var cookies = document.cookie.split(";"); 
    for (var i = 0; i < cookies.length; i++){ 
     var vals = cookies[i].split("="); 
     document.cookie = vals[0] + "=;expires=Thu, 21 Sep 1979 00:00:01 UTC;";         
    }   
} 
// you will need jquery for this 
$(window).on('beforeunload', function() { 
    clearCookies() 
}); 

或角度的方式清除功能:

function clearCookies(){ 
    angular.forEach($cookies, function (value, key) { 
     $cookieStore.remove(key); 
    }); 
} 

但是如果你能使用會話cookie(沒有過期值),他們會被瀏覽器時自動被刪除用戶關閉瀏覽器。

+2

當用戶重新加載頁面時,'beforeunload'也會被觸發。我只想在用戶關閉窗口或選項卡時才刪除Cookie。 – 2014-09-21 14:30:27