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

Posted

技术标签:

【中文标题】Firebase:当用户离开页面时设置数据?【英文标题】:Firebase: set data when user navigates away from page? 【发布时间】:2016-10-04 10:23:22 【问题描述】:

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

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

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

PS:我的目标是 Chrome(桌面和移动),但如果我们能找到一个跨浏览器工作的解决方案会很好:)

【问题讨论】:

【参考方案1】:

你正在寻找 onDisconnect()

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

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

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

【讨论】:

以上是关于Firebase:当用户离开页面时设置数据?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase auth onUpdate 云功能,用于当用户更新他们的电子邮件时

当用户离开页面时在 angularjs 中显示警报

Meteor,ReactJS,MongoDB:当用户离开页面时执行某些操作

删除/关闭 Firebase 侦听器

如何使用 Firebase 身份验证服务并在我们自己的数据库中拥有用户?

jquery beforeunload 关闭(不离开)页面时?