【问题标题】:Angular removing cookies on leaving the websiteAngular 在离开网站时删除 cookie
【发布时间】:2014-11-14 03:25:45
【问题描述】:

如果用户关闭浏览器窗口/标签,我正在寻找删除所有 cookie 的可能性。是否有机会触发事件或其他任何事情?

【问题讨论】:

  • 当用户可能打开同一个网站的多个标签时会发生什么情况?为什么不对“注销”方法进行清理?
  • 为什么不直接使用会话存储?

标签: angularjs angular-cookies


【解决方案1】:

试试这个:

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(没有过期值),它们将在用户关闭浏览器时被浏览器自动删除。

【讨论】:

  • 当用户重新加载页面时,'beforeunload' 也会被触发。我只想在用户关闭窗口或选项卡时删除 cookie。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
  • 2023-01-10
  • 1970-01-01
  • 2010-11-26
  • 2012-06-15
  • 2015-12-21
相关资源
最近更新 更多