Как определить тип уходящего изображения в режиме изображения? - PullRequest
1 голос
/ 05 мая 2019

Режим «картинка в картинке» имеет два выходных действия: «Закрыть» и «Вернуться на вкладку»

img

Оба они производят leavepictureinpicture событие .

Есть ли способ, как определить, с какой кнопки было вызвано это событие?

Тела событий кажутся совершенно одинаковыми. Но с точки зрения пользователя, я ожидал бы закрыть проигрыватель, когда я нажимаю «закрыть» и обратно видео, когда я нажимаю «Вернуться на вкладку»

1 Ответ

1 голос
/ 05 мая 2019

Разница между обеими кнопками заключается в том, что кнопка «Закрыть» приостанавливает воспроизведение видео, а кнопка «Назад на вкладку» продолжает воспроизведение.

Это обрабатывается браузером, поэтому вам не нужно определять, какая кнопка была нажата, но если когда-либо в том случае, если ваше видео все еще воспроизводится, то вы знаете, что они нажали «Вернуться на вкладку».

if(document.pictureInPictureEnabled) {
  btn.onclick = e => {
    vid.requestPictureInPicture()
  };
  vid.onleavepictureinpicture = e => {
    if(!vid.paused)
      console.log("came Back to Tab");
  };
}
else document.body.textContent = "your browser doesn't Picture in Picture API";
<button id="btn">
enter PIP
</button>
<video src="https://storage.googleapis.com/media-session/caminandes/short.mp4" controls id="vid" muted></video>

Однако, если видео было приостановлено до того, как они получили «Вернуться на вкладку», то у вас, очевидно, нет возможности узнать, где они кликнули.

...