繁体   English   中英

当用户关闭标签或窗口时销毁会话

[英]Destroying a session when user closes tab or window

我想在用户关闭选项卡或窗口而未正确注销时销毁会话。 我认为这可能有效:

javascript:

$(window).on("beforeunload", function(){
    alert("Beforeunload called");
    $(document).load("vve_inc/php/vve_logout.php");
});

的PHP:

<?php
session_start();
session_destroy();
?>

警报工作正常,但是php-script却不能。 有人知道吗?

警报停止执行代码。

在卸载时执行AJAX请求是不稳定的,并且不会始终执行。

如果您仅具有注销按钮或会话超时,那就更好了。

qwuertynl是正确的,但是您可以使用ignore_user_abort(); 在PHP中,AJAX请求是否完成无关紧要。 过去,我已经成功地大规模使用了此功能。

http://php.net/manual/en/function.ignore-user-abort.php

调用该函数将使您的PHP脚本运行完成,而不管请求是否被中止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM