【发布时间】:2014-11-14 03:25:45
【问题描述】:
如果用户关闭浏览器窗口/标签,我正在寻找删除所有 cookie 的可能性。是否有机会触发事件或其他任何事情?
【问题讨论】:
-
当用户可能打开同一个网站的多个标签时会发生什么情况?为什么不对“注销”方法进行清理?
-
为什么不直接使用会话存储?
如果用户关闭浏览器窗口/标签,我正在寻找删除所有 cookie 的可能性。是否有机会触发事件或其他任何事情?
【问题讨论】:
试试这个:
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(没有过期值),它们将在用户关闭浏览器时被浏览器自动删除。
【讨论】: