我想知道,当用户离开页面导航时,是否有可能在防火墙数据库中设置一些数据。我知道window.onbeforeunload,但这似乎不起作用,因为在调用这个方法之后(因为用户导航离开),火基调用就被取消了。或者是真的?
用例是:我正在构建一个聊天应用程序,我在聊天室中跟踪用户。所以我需要知道用户何时离开这个聊天室--而用户离开聊天室的方法之一就是导航或关闭浏览器窗口。
解决方法是让每个用户更新一个带有间隔(例如10秒)的时间戳,并在客户端处理它(如果用户的时间戳大于他必须离开的10秒)。但这会造成大量的网络开销,而且似乎效率不高。
PS:我正在开发Chrome (桌面和移动),但是如果我们能找到一个跨浏览器的解决方案,那就太好了。)
发布于 2016-06-04 13:57:22
您正在寻找onDisconnect()
在这里您可以找到如何使用它https://firebase.google.com/docs/database/web/offline-capabilities#how-ondisconnect-works
基本上是当用户断开连接时调用的Firebase事件
它可用于在聊天组中显示哪些用户仍处于活动状态,哪些not..etc仍处于活动状态。
https://stackoverflow.com/questions/37629842
复制相似问题