1

几个月前,Jean-François提出了一个类似的问题,但我的问题更加棘手。

我必须在名为“ajax Content”的节点中加载不同的内容。
第一次初始化播放器并且视频显示了它自己的控制栏皮肤。

但是,如果第二次加载另一部电影或相同的电影,则 Video.js 脚本不会初始化并运行。如果我用“remove()”或“empty()”清除节点,也会发生这种情况。

这是外部 html 文件的一部分:

<div id="video">
<video id="html5_video" class="video-js vjs-ms-skin" autoplay controls preload>
    <source src="fileadmin/themen/de/iagos.mp4" type='video/mp4' />
</video>
<div class="ajaxLoadClose"></div>

这是 jQuery 脚本

$(".ajax-content").load(pfad+"#video",function(responce,status,xhr){
if (status=="success")
{

    _V_("html5_video");
    $(".ajax-content").css("display","block");
    $(".ajaxLoadClose").click(function() {
        var vidBig = $(this).parent().find("video").get(0);
        vidBig.pause();
        $(".ajax-content").fadeOut('slow', function() {
            $('.ajax-content').children().remove();
        });/**/
    });
}

});

有没有什么类型的重置?谢谢你的帮助。

4

1 回答 1

5

如果您为每个视频创建一个新播放器而不转到新页面,它将开始构建播放器实例,因为对播放器的引用_V_.players按其 ID 存储在对象中。如果您调用player.destroy()它将删除播放器引用。只需确保您没有其他任何引用玩家的东西。您还需要从页面中删除播放器 .video-js div。在以后的版本中, player.destroy() 函数也会这样做。

有关详细讨论,请参阅此内容。:)

于 2012-12-28T18:06:00.650 回答