我想知道如何检查是否有人离开了站点/页面并在他们离开后执行操作。我在这里阅读,我发现了这个:
不,没有。您能做的最好的事情是每 X 秒发送一个 AJAX 请求(也许只有当用户移动鼠标时)。如果服务器在 2X 秒内没有收到任何请求,则假设用户离开了。
这就是我之前的计划,但是如果服务器停止发送请求,你怎么能让服务器做一些事情(在我的情况下是从数据库中删除它们)?我能想到的一个例子是,当您在 Facebook 上访问该网站时,您如何告诉他们您在这里并且在线,这在聊天中将您标记为在线,但当您离开时,它会将您标记为离线。这怎么可能?
编辑:在使用 cron 作业一段时间后,我发现网络托管网站不喜欢经常运行 cron 作业以在您的网站上产生“现场”感觉。所以相反,我找到了 node.js,它的工作效率提高了 1000 倍,而且更简单。我建议任何有同样问题的人使用它,购买托管非常便宜,而且学习简单,如果你知道 Javascript,你可以构建它没问题。一定要知道异步是如何工作的。