如何使用 video.js 从 JQuery 播放 () 注入 load() 的 <video>?

How to play() a <video> injected with load() from JQuery using video.js?

你玩得很开心。

我需要帮助解决这个问题: 我正在使用 video.js 和 JQuery 中的 load() 函数注入标签。但是当我执行时:

$('#video-hero')[0].player.play();

我在控制台上收到此错误:

Uncaught TypeError: Cannot read property 'play' of undefined

我的代码是这样的:

$('.play').on('click',function(){
  $('#headerVideo').modal('show');});


$('#headerVideo').on('show.bs.modal', function () {
var videoSpace = $('#headerVideo .modal-dialog-video .row .col-md-12');
videoSpace.load('/assets/incl/video-header.html', function(){
  $('#video-hero')[0].player.play();
});})

有人可以帮助我吗?

谢谢:

如果您使用的是 video.js,您应该使用它的 API 来播放视频。原始 video 元素将被替换为 video.js 播放器 div,它可能包含也可能不包含 video,具体取决于使用的技术。

从你的代码片段中我无法确切地看到你得到了什么,但如果你有 <video id="video-hero" ... 并且已经被初始化为 video.js 播放器,这将有效。

videojs('video-hero').play();