跟踪用户是否在当前文档上

时间:2015-03-23 11:03:02

标签: meteor meteor-accounts

对于讨论网站,我想显示不仅已登录但目前还有讨论网站处于活动状态的用户。因此,如果用户登录我的Meteor应用程序但在其他地方冲浪,他的名字将在讨论网站上显示为灰色。

要让谁登录是微不足道的,但我怎么知道我的页面上有哪些用户?

1 个答案:

答案 0 :(得分:2)

您正在寻找Page Visibility API。它完全符合您的要求:使用它,您可以检测用户是否正在浏览当前文档,当然您可以通过事件检测可见性的变化。

这是一个基本的例子:

//Inside a Meteor.startup, onRendered callback...
document.addEventListener('visibilityChange', changeUserState);

function changeUserState() { //You can define that higher to respect hoisting
  if (document.hidden) {
    setUserInactive();
  }
  else {
    setUserActive();
  }
}

请注意,根据MDN页面,这不会对IE<< 10 ...