在我的Django站点上,我想在关闭选项卡或浏览器时自动从站点注销。我的意思是,当我通过关闭选项卡而不是使用注销按钮来关闭站点时,在再次输入URL之后,我希望看到用户已经从站点注销,以强制用户再次输入用户名和密码。
有没有办法在JQuery中关闭标签页?
提前谢谢你。
编辑: onunload & onbeforeunload事件会导致用户在重新加载页面时注销。
发布于 2016-03-29 20:16:10
您可以使用Javascript onunload
& onbeforeunload
事件。在这些事件中,销毁Django的会话cookie。
当您通过链接或浏览器的后退按钮离开站点时,这些事件也会被触发,所以如果这真的是您想要的,请小心并三思而后行。
发布于 2016-03-29 21:10:51
window.onunload = function () {
//logout code here...
}
在JQuery中,您可以使用.unload()函数。请记住,您的时间不多,因此您可以发送Ajax请求,但结果可能无法到达客户端。
window.open("logout url","log out","height=10,width=10,location=no,menubar=no,status=no,titlebar=no,toolbar=no",true);
如果你想禁止关闭窗口(或者至少警告用户),你可以使用下面的代码:
window.onbeforeunload = function(event) {
//if you return anything but null, it will warn the user.
//optionally you can return a string which most browsers show to the user as the warning message.
return true;
}
如果没有回复,则假定用户已关闭窗口、浏览器已崩溃或存在网络问题,从而终止了聊天会话。在客户端,如果您没有收到这个ping包,您可以假定网络连接或服务器有问题,您可以显示注销警告(并可选地让用户重新登录)。
发布于 2018-07-07 00:00:05
我就是碰到了这个。在您的Django settings.py文件中,您可以添加以下标志:
SESSION_EXPIRE_AT_BROWSER_CLOSE =真
这将使用户在浏览器关闭时注销。请注意,如果仍有其他选项卡或窗口处于打开状态(浏览器必须完全关闭),则用户将保持登录状态。
https://stackoverflow.com/questions/36283638
复制相似问题