0

ディスカッション サイトの場合、ログインしているだけでなく、現在ディスカッション サイトをアクティブにしているユーザーを表示したいと考えています。そのため、Meteor アプリケーションにログインしているユーザーが別の場所でサーフィンをすると、そのユーザーの名前はディスカッション サイトでグレー表示されます。

誰がログインしているかを知るのは簡単ですが、自分のページにいるユーザーを知るにはどうすればよいですか?

4

1 に答える 1

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 では機能しないことに注意してください...

于 2015-03-23T11:13:42.723 に答える