如何区分页面刷新和关闭页面

2024-02-22

我有一个网络应用游戏,在游戏中我想拥有它,这样如果用户关闭页面或浏览器,它会自动注销。我尝试使用附加到窗口的 onbeforeunload 事件:

window.onbeforeunload = function() {
    // perform logout functions here
}

问题是,如果用户刷新页面,它也会触发。有没有办法检测用户是否完全关闭整个页面,或者只是刷新它?


没有可察觉的差异。要自动注销用户,您应该为存储登录或会话信息的 cookie 设置过期时间。因此,如果您将其设置为 1 小时,那么用户实际上会在该时间之后注销,因为 cookie 将被销毁。如果您想在他们仍在与网站交互时推迟此自动注销,则可以在他们每次执行某种操作(单击链接、激活 AJAX 调用等)时重置 cookie 的过期时间。这意味着他们将在 1 小时不活动后注销,而不是登录后 1 小时,这听起来更像您想要的。

如果将 cookie 的过期时间设置为 0,那么它会在会话结束后过期。当用户完全退出浏览器时通常会发生这种情况。这也是另一种选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何区分页面刷新和关闭页面 的相关文章

随机推荐