如何使用 JavaScript 捕获缓存清除事件



我正在做一个基于套接字的聊天项目。我将所有在线用户的名称存储在数据库中,以便可以检查是否有重复的用户名。如果我们在聊天并直接关闭浏览器,我的应用程序可以轻松地使用户脱机,但问题是,当我们当时直接清除缓存时,将不会调用用于从数据库中删除用户的 AJAX 调用。因此,即使我们已经清除了缓存并离线,我们也会在线显示给前端用户,这意味着该条目仍然存在于数据库中,因为没有触发 AJAX 调用并且我们直接清除了缓存。

因此,任何对如何使用javascript捕获缓存清除事件有一些想法的人,请告诉我。

我在这个问题上做了很多谷歌搜索,但一无所获。

任何建议都将被接受。

提前感谢.....

你所要求的是不可能的(没有办法检测用户何时从JavaScript中清除他们的浏览器缓存)。

您是否考虑过每隔一段时间在两个用户之间发送一个不可见的"ping"(选择一个阈值,例如 1 分钟),并且对于两个用户,如果他们没有收到 ping(阈值 + 较小的阈值),将认为其他用户处于脱机状态(或更稳健地发送另一个"我还在这里"ping 的请求)。

最新更新