HTML5 Video - автоматически переходить в полноэкранный режим - PullRequest
0 голосов
/ 01 апреля 2019

Подобная проблема найдена здесь:

Моя маленькая девочка будет смотреть мультфильмы на моем компьютере 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 ...

ЭтоФункция работает (почти), как и ожидалось.Я нажимаю на первую ссылку, видео загружается, выходит на весь экран, начинает воспроизведение и фокусируется на видео (в случае, если пользователь нажимает клавишу пробела или использует клавиши со стрелками и т. Д.)

Однако видео заканчивается,таймер обратного отсчета, страница перенаправляет на следующую в очереди, но на этот раз видео не полноэкранный.Я почти уверен, что это браузер, запрещающий «небезопасные» или «небезопасные» ... или, возможно, просто «раздражающие» скрипты, но в этом случае я хочу в любом случае разрешить эту функцию.Видео должно быть полноэкранным по этому событию, независимо от общепринятых комментариев «не делай так», пожалуйста.

Есть предложения?

1 Ответ

0 голосов
/ 01 апреля 2019

То, что вы можете увеличить в своем коде, это проверить, активирован ли ваш полноэкранный режим:

function IsFullScreenCurrently() {
var full_screen_element = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || null;

// If no element is in full-screen
if(full_screen_element === null)
    return false;
else
    return true; }

вы также можете использовать document.fullscreenEnabled ( здесь ), чтобы проверить, можете ли вы участвоватьполный экран браузера, который вы используете.

...