gpt4 book ai didi

javascript - 如何在 django 关闭浏览器时终止 session

转载 作者:行者123 更新时间:2023-11-29 15:40:20 26 4
gpt4 key购买 nike

我正在为我的应用程序使用 Python-Django。我想在用户关闭浏览器时终止 session ,并希望将 session 终止或浏览器关闭时间存储在数据库中。
Django session 提供了一种机制,当用户关闭浏览器时,通过设置

从浏览器中删除 session cookie,从而使 session 过期
 SESSION_EXPIRE_AT_BROWSER_CLOSE=True

在 settings.py 文件中。它从用户浏览器中删除 session cookie。我可以在后端或 Django 中获取此事件吗?或者我如何通过 ajax 将浏览器已关闭且 session cookie 已删除的消息传递给 Django 服务器。告诉我是否可以通过 django 或如何使用 javascript 完成

最佳答案

为了在卸载之前进行 ajax 调用,恐怕您最终会向用户显示一个恼人的警告框,因为这是事件所期望的:

Date.prototype.timeNow = function(){
return ((this.getHours() < 10)?"0":"") + this.getHours() +":"+ ((this.getMinutes() < 10)?"0":"") + this.getMinutes() +":"+ ((this.getSeconds() < 10)?"0":"") + this.getSeconds();
};

$(window).bind("beforeunload", function (e) {
var timeNow = new Date().timeNow();
$.post( "api/closingTime", { "closingTime": timeNow } );
return "Thanks for your visit";
});

这也有点问题,就好像用户决定单击以留在页面上一样,发布请求仍然继续

关于javascript - 如何在 django 关闭浏览器时终止 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com