Переключение в полноэкранный режим вызывает событие «visibilitychange» в сафари.

В Safari (15.3) на Macos (11.6.4) и, возможно, на ios включение и отключение полноэкранного режима вызывает событие «visibilitychange». Его нет в Chrome и Firefox.

Есть ли простой способ исправить это (чтобы не вызывать изменение видимости в сафари)?
Решением было бы отключение и включение прослушивателя видимости изменения при переключении в полноэкранный режим, но это довольно хакерский способ.

Некоторые фрагменты для воспроизведения:

      document.addEventListener('visibilitychange', () => {console.log('visibilitychange')}, false);
document.addEventListener('webkitvisibilitychange', () => {console.log('webkitvisibilitychange')}, false);
 

var elem = document.getElementById("myvideo");
function openFullscreen() {
  if (elem.requestFullscreen) {
    elem.requestFullscreen();
  } else if (elem.webkitRequestFullscreen) { /* Safari */
    elem.webkitRequestFullscreen();
  } else if (elem.msRequestFullscreen) { /* IE11 */
    elem.msRequestFullscreen();
  }
}

0 ответов

Другие вопросы по тегам