QA@IT

Chrome で「このページを開いているタブが focus されているかどうか」を調べる方法はありますか

2554 PV

window.document.title を書き換えると Chrome のタブを光らせることができると知りまして、こんな感じに実装してみました。

$(function() {
  var originalTitle = window.document.title;
  var resetTitle = function() { window.document.title = originalTitle; }
  $(window).on('focus', resetTitle).on('blur', resetTitle);

  $(obj).on('something', function() {
    if (window.document.title === originalTitle) {
      window.document.title += ' *';
    }
  });
});

これだとタブにフォーカスしているときにタイトルが変わった後、別のタブを開くと resetTitle の影響でタブが光ってしまいます。タブにフォーカスしていないときだけタイトルを書き換えればうまくいくような気がするのですが、そんな方法ってあるんでしょうか。もしくはもっと別のうまいやり方がありましたら教えてください。

回答

Page Visibility API で判断できるでしょうか。

編集 履歴 (0)
  • おお、まさしくですね。試してみます! -
  • バッチリでした。ありがとうございます! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。