【问题标题】:Initialize a Video.js player on a ajax loaded part of the page在页面的 ajax 加载部分初始化 Video.js 播放器
【发布时间】:2012-06-17 15:42:12
【问题描述】:

视频播放器实际上可以正常加载。我的实际问题是,当我使用 AJAX 刷新页面的某些部分并且这些部分包含视频播放器时,HTML5 播放器加载正常,但自定义它的 Video.js 部分加载不正常。

video.js 文件被加载到页面的头部。我已阅读文档,但找不到如何在已加载的页面上初始化视频播放器。当加载包含视频的页面部分以使视频播放器正确加载 Video.js 时,我是否可以调用 myPlayer.initialize() 类型的函数?

我认为 video.js 文件仅在页面加载时自动执行。

感谢您的宝贵帮助!

【问题讨论】:

    标签: javascript html html5-video video.js


    【解决方案1】:

    我遇到了同样的问题。我的场景:

    通过 ajax 加载带有 video 标签的 html 代码,它第一次工作,但是当我用 ajax 重新加载内容时(不刷新页面)它不起作用。

    我所做的是切换到通过课程查找视频,因为 ID 会被 videojs 更改。

    所以这是我现在的电话:

    videojs(document.getElementsByClassName("video-js")[0], {}, function(){
              // Player (this) is initialized and ready.
    });
    

    希望这可以帮助遇到 Bruno 解决方案不起作用的相同问题的人。

    【讨论】:

    • 感谢分享!这个解决方案适合我的情况。
    • 太棒了!坦克你这么多。此解决方案适用于“刷新”问题。
    • 非常感谢。这有效,接受的答案没有。浪费了半天时间试图弄清楚这一点。
    【解决方案2】:

    是的,根据您可以执行的文档:

    videojs("example_video_1", {}, function(){
      // Player (this) is initialized and ready.
    });
    

    它专门用于动态内容:)

    来源:http://docs.videojs.com/docs/guides/setup.html(底部)

    【讨论】:

    • 它确实有效,谢谢!我遇到了另一个问题,但我发现我为所有视频提供了相同的 ID。
    【解决方案3】:

    我是循环完成的

    var massVideo = $('.video-js');
    for(var i = 0; i < massVideo.length; i++){
      videojs(massVideo[i]).ready(function(){});
    }
    

    【讨论】:

      猜你喜欢
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 2014-11-23
      • 2010-09-08
      相关资源
      最近更新 更多