Подобная проблема найдена здесь:
Моя маленькая девочка будет смотреть мультфильмы на моем компьютере Linux Mint с Chrome.У меня есть прекомпилятор BASH, который создает все страницы с тегами video
и source
, уже запеченными в разметке.В конце видео появляется 5-секундный таймер (с JavaScript), отсчитывает, затем перенаправляет на случайные другие страницы, которые автоматически воспроизводят видео после загрузки метаданных (все с помощью EventListener)
Мне нужноспособ автоматического полноэкранного видео.Я знаю, что есть способы сделать это и что браузер явно запрещает это полноэкранное событие, так как оно не было запущено пользователем.
У меня есть следующий код:
video=document.getElementsByTagName('video')[0]
video.addEventListener('loadedmetadata',function(e){
if (this.requestFullscreen)
this.requestFullscreen();
else if (this.msRequestFullscreen)
this.msRequestFullscreen();
else if (this.mozRequestFullScreen) // Note the capital "S" in Screen
this.mozRequestFullScreen();
else if (this.webkitRequestFullscreen)
this.webkitRequestFullscreen();
video.play();
video.focus();
}, false)
... insert working-as-intended 'ended' eventListener ...
ЭтоФункция работает (почти), как и ожидалось.Я нажимаю на первую ссылку, видео загружается, выходит на весь экран, начинает воспроизведение и фокусируется на видео (в случае, если пользователь нажимает клавишу пробела или использует клавиши со стрелками и т. Д.)
Однако видео заканчивается,таймер обратного отсчета, страница перенаправляет на следующую в очереди, но на этот раз видео не полноэкранный.Я почти уверен, что это браузер, запрещающий «небезопасные» или «небезопасные» ... или, возможно, просто «раздражающие» скрипты, но в этом случае я хочу в любом случае разрешить эту функцию.Видео должно быть полноэкранным по этому событию, независимо от общепринятых комментариев «не делай так», пожалуйста.
Есть предложения?