4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Chromeのイベントがとばなくなってしまうケースの事例

Last updated at Posted at 2025-05-19

再生している時にいろいろな都合でイベントが飛ばなくなる

Netflixとかでもやってるらしいですが、ユーザーの操作がない状態で動画再生とかしつづけた場合、動画のイベントなどがブラウザからとんでこなくなることがあります
(例えばloadeddataとかcanplaythroughとか)
以下は上記の対処例です

eventがとんでこなくなる理由

  • tab sleepしてる
  • lockしてる
    のとりあえず2つ

tabがsleepする?

chrome://discards
のページごとのAuto Discardableを無効にする

Lockを無効にする

https://developer.chrome.com/docs/capabilities/web-apis/wake-lock?hl=ja
このあたりに書いてあるやつです

const requestWakeLock = async () => {
  try {
    wakeLock = await navigator.wakeLock.request();
    wakeLock.addEventListener('release', () => {
      console.log('Screen Wake Lock released:', wakeLock.released);
    });
    console.log('Screen Wake Lock released:', wakeLock.released);
  } catch (err) {
    console.error(`${err.name}, ${err.message}`);
  }
};

await requestWakeLock()

const handleVisibilityChange = () => {
      if (document.visibilityState === 'visible') {
        requestWakeLock()
      }
}
document.addEventListener('visibilitychange', handleVisibilityChange)

tabを切り替えしたり、browserを最小化したりするとwake lockは解除されてしまうので、そこは考慮します

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?