我有一个网页需要在回调服务器后加载视频以检索URL。为了测试,我只是将视频加载到页面中,但是当它工作时我将有选择地显示/隐藏容器。
如果我直接将网址嵌入到src标记中并且data-setup =“{}”,那么就可以了。
但是,当我尝试动态加载它时,无法加载视频(没有错误)。
这是HTML:
<div id="video-container">
<video id="videoplayer" class="video-js vjs-default-skin" controls preload="auto">
<source id="videosource" type='video/mp4'>
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that
<a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video>
这是我正在运行的代码:
$.get(url,
function (data) {
videojs("videosource", {}, function () {
this.reset();
this.src(data);
this.load();
this.play();
});
});
如果我不包含.reset()调用,则错误“this.el_.load不是函数。如果我调用.reset()它不会抛出任何错误,但没有任何错误加载。我我正在运行Chrome,但它也无法在Firefox中加载。
我在设置src时尝试了相同的结果(没有错误,但也没有视频):
this.src({ type: "video/mp4", src: data });
我正在通过CDN使用5.8版本。
关于我哪里出错的任何想法?
答案 0 :(得分:2)
将我的评论移到答案中,当我使用videojs
时,我只使用了video
元素并使用了id
。因此,删除不需要的source
元素并将其更改为videojs("videoplayer",
以定位正确的元素。