我需要捕获用户关闭浏览器或选项卡的事件,或者在应用程序的最后一页之前访问不同的站点,以便可以取消设置PHP会话,并且可以撤消到此时为止的数据库事务。我一直在寻找几天,我发现最接近的事情是使用event.clientX和event.clientY来获取光标位置并从我的onbeforeunload代码中消除后退,前进,提交和刷新按钮的具体位置。但是,这似乎并不可靠,因为对于每个用户,窗口可能并不总是相同。有人可以帮忙吗?
function beforeUnloadAction(event)
{
if(event = browser close, tab close, go to a different site)
{
//unset the session, rollback database transactions
}
else
{
//do nothing
}
}