marumaruko
@marumaruko

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

バックグランドでのslick

質問内容

サイトを別タブまたはバックグランドにした場合、slickで動かしているバナーは動いているのでしょうか?
※該当のバナーのslickはautoplay: trueにしているため自動で再生し続けます。

発生している問題

バナーのIMP計測をするに当たりバックグランドでもslickが動いている場合、正しいIMPが計測できない。

自分で試したこと

該当のバナーが画面外になったらslickを止めるという処理は実装しています。

バックグランドでの動きについてわかる方教えてください。
よろしくお願いします。

0

1Answer

slick の autoplay で使われる setInterval は、バックグラウンドタブでの実行間隔が間引かれることが知られています。 https://www.wantedly.com/companies/wantedly/post_articles/439961

実際の再生間隔を知るには slick の afterChange イベントでログを出力するといいでしょう。

$('バナー要素').on('afterChange', () => {
  console.log(new Date().toISOString());
});

バックグラウンド化されたときにバナーを止めるには visibilitychange イベントが使えます。

document.addEventListener('visibilitychange', () => {
  if (document.visibilityState === 'visible') {
    // バナーを再度動かす
  } else {
    // バナーを止める
  }
});

2Like

Your answer might help someone💌