我有一个 2 人站点聊天(我们和任何提问的客户),当他们通过任何方式断开连接时,我想显示“ $client已断开连接”,包括:
- 在浏览器上按回
- 关闭窗口
- 通过任务管理器关闭浏览器
我还没有找到一种可靠的方法(尝试使用 JavaScript 的 onunload 和 onbeforeunload 属性)来处理这个问题,尤其是在使用任务管理器的情况下。
我想做的是让用户不断调用 AJAX 脚本,在其中增加一些服务器端值;当他们的页面关闭时,这种增量将停止。在我们这边,继续运行一个脚本来检查该值是否已更改。如果在任意数量的检查(例如 3 次)之后它没有改变,那么用户可能已经断开连接,它会显示消息。
但这并不优雅,而且“可能断开连接”并不是一个真正有把握的结论。
您将如何执行此操作,以确保仅在用户断开连接时才出现断开连接消息。