Переключение в полноэкранный режим вызывает событие «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();
}
}