我正在开发一个聊天系统,我必须在用户离开聊天之前删除数据库中的数据......
是否可以执行用户试图离开时触发的操作?
要检测用户何时离开,我建议您对用户进行定期 ping(或通过让 AJAX 每 X 分钟向服务器发布一次 pong 来从用户那里)。
如果服务器在 X * Y 分钟内没有收到任何 pong,则删除数据。
对于您的情况,X 可以是 1,Y 可以是 10,因此离开聊天室的用户的数据永远不会超过 10 分钟。
用户通过关闭浏览器或按下退出按钮离开聊天。
在后者的情况下,它是直截了当的。客户端的浏览器会发送一个 AJAX 请求通知浏览器。在前一种情况下,检测用户何时离开网页的最佳方法是什么?
你可以这样做...使用 xmlhttp 请求和window.onbeforeunload
javascript
你不能这样做——例如,如果我刚刚拔掉了电脑上的插头,你的软件应该做什么?
你最好的选择是暂停。