Firebase:当用户离开页面时设置数据?

时间:2016-06-04 11:46:11

标签: javascript firebase firebase-realtime-database

我想知道当用户离开页面时是否可以在firebase数据库中设置一些数据。我知道window.onbeforeunload,但这似乎不起作用,因为在调用此方法后立即取消了firebase调用(因为用户导航离开)。或者是吗?

用例是这样的:我正在构建一个聊天应用程序,用于跟踪聊天室中的用户。因此,我需要知道用户何时离开该聊天室 - 用户可以离开的方式之一是离开或关闭浏览器窗口。

解决方法是让每个用户更新一个带有间隔(例如10秒)的时间戳,并在客户端处理它(如果用户的时间戳超过他必须离开的10秒)。但是这会产生很多开销网络流量,而且看起来效率不高......?

PS:我正在瞄准Chrome(桌面和移动设备),但如果能找到跨浏览器的解决方案,那就太好了。)

1 个答案:

答案 0 :(得分:1)

您正在寻找onDisconnect()

在这里你可以找到如何使用它 https://firebase.google.com/docs/database/web/offline-capabilities#how-ondisconnect-works

基本上是在用户断开连接时调用的Firebase事件

它可以用于在聊天组中显示哪些用户仍处于活动状态,哪些用户不是..等等