Тег HTML5 <video>
предлагает пользователю кнопку для включения и выключения полноэкранного режима в Safari для мобильных устройств (iOS).
Я хотел бы захватить и обработать это действие пользователя, но, похоже, оно не вызывает событие, когда кнопка нажата, и игрок переходит в полноэкранный режим.
Вот ссылка на Safari API для класса HTMLVideoElement:
https://developer.apple.com/documentation/webkitjs/htmlvideoelement
Мы можем легко узнать, когда видео приостанавливается или воспроизводится в Javascript, например:
function onload()
{
var player = document.getElementsByTagName("video")[0];
player.addEventListener('play',videoPlayHandler,false);
player.addEventListener('pause',videoPauseHandler,false);
}
Однако у них, похоже, нет событий для перехода видео в полноэкранный режим.
Мы можем перевести видео в полноэкранный режим в ответ на действия пользователя, вызвав webkitEnterFullscreen () , но это мне не поможет. Мне нужно знать, когда пользователь нажимает на полноэкранную кнопку.
Сокрытие элементов управления и замена их собственными пользовательскими элементами управления звучит как очень длинное решение.
Другой вариант, о котором я могу подумать, - установить событие синхронизации, постоянно проверяя свойство webkitDisplayingFullscreen , но это нехорошо с точки зрения управления памятью.
Кто-нибудь может предложить лучшее решение?