【发布时间】:2016-01-07 20:39:12
【问题描述】:
当用户关闭选项卡或浏览器时,我需要关闭会话,因为重要信息和事务已被管理。有人可以帮助我,请或告诉我是否不是网页的标准想法。谢谢
【问题讨论】:
-
您可以使用
window.onbeforeunload(应该使用window.addEventListener("beforeunload", function(){ /* AJAX call here*/ })检测用户何时离开页面(通过在同一选项卡中请求另一个页面或关闭选项卡),但我没有认为在所有浏览器中都可以进行 AJAX 调用。 -
但是这个事件不只是为了关闭标签吧?
-
没有。没有关闭选项卡的事件,因为没有关闭浏览器的事件(就此而言,使用会话)。不要忘记用户也对他/她的安全负责。如果您真的非常想要严格,请在所有请求之间使用唯一令牌(例如,用户登录,然后页面中的所有链接都包含密钥
X。当用户单击链接时,会发送密钥在 url 中生成一个新密钥,比如Y,并将其应用于所有链接,...)。烦人:后退按钮是不允许的,如果用户关闭标签页再重新打开,他必须重新登录。