Инициализировать проигрывателя 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(){});
}