Инициализировать проигрывателя Video.js на загруженной части ajax страницы

Видеопроигрыватель действительно загружается нормально. Моя фактическая проблема заключается в том, что когда я обновляю некоторые части своей страницы с помощью AJAX, и эти части содержат видеоплеер, плеер HTML5 загружается нормально, но не Video.js, которая его настраивает.

Файл video.js загружается в заголовок страницы. Я прочитал документ и не могу найти, как инициализировать видеоплеер на уже загруженной странице. Разве нет функции myPlayer.initialize(), которую я могу вызвать, когда моя часть страницы, содержащая видео, загружена, чтобы правильно загрузить видеоплеер с помощью Video.js?

Я думаю, что файл video.js делает это автоматически только при загрузке страницы.

Спасибо за вашу драгоценную помощь!

Ответы

Ответ 1

Да, согласно документам, которые вы можете сделать:

videojs("example_video_1", {}, function(){
  // Player (this) is initialized and ready.
});

Он специально используется с динамическим контентом:)

Источник: http://docs.videojs.com/docs/guides/setup.html (внизу)

Ответ 2

У меня была та же проблема. Мой сценарий:

Загрузка через ajax html-код с тегом видео, он работает в первый раз, но когда я загружаю контент с помощью ajax (не обновляя страницу), он не работает.

То, что я сделал, это переключиться на поиск видео через класс, так как ID будет изменен с помощью videojs.

Итак, теперь это мой вызов:

videojs(document.getElementsByClassName("video-js")[0], {}, function(){
          // Player (this) is initialized and ready.
});

Надеюсь, это поможет кому-то с той же проблемой, где Bruno решение не сработало.

Ответ 3

Я сделал это в цикле

var massVideo = $('.video-js');
for(var i = 0; i < massVideo.length; i++){
  videojs(massVideo[i]).ready(function(){});
}