从ajax加载时未定义VideoJS

时间:2019-01-02 20:08:32

标签: jquery video.js

我正在使用自托管的videojs 7.1。

我有一个列出很多缩略图的页面,如果单击任何缩略图,它将从ajax加载视频源,并在引导模式对话框中播放视频。

页面HTML

<link href="/css/videojs.min.css" rel="stylesheet">
<script src="/js/videojs.7.1.0.min.js"></script>

<div class="row">
    <?php foreach($ids as $id){ ?>
        <div class="col-xs-4">
            <img src="/path/to/thumbnail-<?php echo $id; ?>.jpg">
            <div>some description here</div>
            <a class="btn btn-primary btn-play" data-vdoid="<?php echo $id; ?>">Play video</a>
        </div>
    <?php } ?>
</div>

<div class="modal fade modal-wide" id="dialog-play" tabindex="-1" role="dialog" aria-labelledby="dialogLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-body nomargin">
                <div id="dialog-play-content">Loading...</div>
            </div>
        </div>
    </div>
</div>

页面JS

$(document).ready(function() {
    $.ajaxSetup ({cache: false});
    $('.btn-play').click(function(){
            var vdoid = $(this).data('vdoid');
            $.get( "/vdo/player?vdoid="+vdoid, function(data){
                $("#dialog-play-content").html(data);
                $("#dialog-play").modal('show');
            });
            return false;
     });
});

vdo播放器HTML

<div id="video-content-<?php  echo $vdoid; ?>" class=" ">
    <video id="video-player-<?php  echo $vdoid; ?>" class="video-js vjs-default-skin vjs-16-9 embed-responsive-item" controls preload="auto">
        <source src="/path/to/vdo/<?php  echo $vdoid; ?>.mp4" type="video/mp4"></source>
    </video>
</div>

vdo播放器JS

function loadvjs(){
    var player = videojs('video-player-<?php  echo $vdoid; ?>',{
        playbackRates: [1,2,3],
        textTrackSettings: false,
    });
    player.ready(function() { 
        player.play();
    });
}
setTimeout(loadvjs, 1000); //bypass document ready that doesnt fire

错误返回是vdo播放器JS第二行上的“未捕获的ReferenceError:未定义videojs”。 HTML5视频仍然可以加载并可以在本机播放器中播放。

如果将视频标签放置在页面上(而不是来自Ajax),则上述代码可以初始化videojs播放器。

我正在四处搜寻,但找不到我的案子的答案。请帮忙,谢谢!

0 个答案:

没有答案