跟踪用户是否在当前文档中
Track if a user is on the current document
对于讨论站点,我想显示不仅登录而且当前还激活讨论站点的用户。因此,如果用户登录了我的 Meteor 应用程序但在其他地方冲浪,他的名字将在讨论站点上显示为灰色。
获取谁登录是微不足道的,但我如何知道我的页面上有哪些用户?
您正在寻找 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...
对于讨论站点,我想显示不仅登录而且当前还激活讨论站点的用户。因此,如果用户登录了我的 Meteor 应用程序但在其他地方冲浪,他的名字将在讨论站点上显示为灰色。
获取谁登录是微不足道的,但我如何知道我的页面上有哪些用户?
您正在寻找 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...