JavaScript ブラウザがアクティブになった時に処理を行う方法

例えば、ブラウザで動作するメールのアプリケーションがあるとします。

ブラウザのタブがアクティブになった時、つまり、メールのアプリケーションのタブをクリックしたときに、最新の受信一覧を取得したいとします。

このような場合、visibilitychange イベントが有効です。

https://developer.mozilla.org/ja/docs/Web/API/Document/visibilitychange_event

上記ドキュメントのサンプルです。

document.addEventListener("visibilitychange", function() {
  if (document.visibilityState === 'visible') {
    backgroundMusic.play();
  } else {
    backgroundMusic.pause();
  }
});