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 云功能,用于当用户更新他们的电子邮件时
Meteor,ReactJS,MongoDB:当用户离开页面时执行某些操作