我用jquery'onbeforeunload'尝试了它,但是因为jquery甚至在刷新页面上做了那个动作也失败了。 我想要做的就是,在任何用户关闭他的浏览器或计算机之前执行数据库功能。所以我可以知道他已经注销了。我想添加类似于“从其他设备登录”的功能,强有力的注销来自其他设备。
答案 0 :(得分:4)
无法在JavaScript中捕获浏览器关闭事件。您可以尝试使用Web套接字和CRON作业来实现您的需求。
对于Web套接字,您可以获取特定用户的总连接数,如果连接数为0,则表示用户已关闭Web应用程序的所有页面(窗口或选项卡)。此外,您需要牢记互联网断开连接,因此,您需要使用CRON作业,此CRON作业必须每隔特定时间运行一次(例如:15分钟),这样如果用户丢失连接15分钟,您必须自动注销该用户。
如果您没有规则,例如用户必须在闲置几分钟后断开连接,那么您只需使用网络套接字即可。
答案 1 :(得分:1)
在system / libraries / session中你会找到这一行
// Is the session current?
if (($session['last_activity'] + $this->sess_expiration) < $this->now)
{
$this->sess_destroy();
return FALSE;
}
你可以做任何事情。