我正在使用Angular与ui-router。我想捕捉用户是否在线或不在网站上显示他们所连接的人的状态。我研究了$ stateChangeStart事件等等,但是如果浏览器关闭,它似乎没有覆盖。如何设置和跟踪用户的在线状态
设置用户在应用程序中的状态并在离开时更改为离线的最佳方式是什么?
非常感谢。
我正在使用Angular与ui-router。我想捕捉用户是否在线或不在网站上显示他们所连接的人的状态。我研究了$ stateChangeStart事件等等,但是如果浏览器关闭,它似乎没有覆盖。如何设置和跟踪用户的在线状态
设置用户在应用程序中的状态并在离开时更改为离线的最佳方式是什么?
非常感谢。
它取决于您使用的后端,例如可以建立套接字连接并在丢弃时,服务器将知道这一点。或者它可以只是将每分钟一次查询发送给url和服务器将last_visit_datetime写入用户的函数。或基于cookie的解决方案。
太棒了。我使用流星,所以我可以告诉后端。谢谢! –
您可以在$window
服务上收听onbeforeunload
事件。
angular.module('app').controller('controller', [
'$window',
function($window) {
$window.onbeforeunload = function() {
// Do stuff
}
}
]);
嗯,也许有一个正常的Ajax调用说:“嘿,我还在这里!”? – Arg0n
或websocket ping或网络工作者中继状态。 –