在调用dispose时,videojs返回vdata错误

Mik*_*but 2 jquery video.js tweenmax

我收到错误,我没有找到任何线索,我正在使用videojs来控制滑块中的多个视频,在每个完成的转换中,我调用一个新的videojs实例并将ID存储到变量并dispose()旧的视频.因为我有很多幻灯片(或视频),并且想要在没有活跃的性能时杀死它们.我的滑块在TweenMax下工作..我从Timline调用onStart事件中的dispose().当调用dispose()时,我收到此错误:

未捕获的TypeError:无法读取null的属性"vdata1408997779453"

这是我的代码示例:

var $slides = [],
    videos =[],
    currentSlide = 0,
    currentVideo = null;

$(function(){

    TweenLite.to($('#header-wrap'), 1, {
            left: x,
            onStart: function(){
                if(currentVideo) {
                    TweenMax.set($('.video-holder'), {autoAlpha: 0});
                    currentVideo.dispose();
                }
            },

            onComplete: function() {
                if(videos[slideActive].url) {
                        videojs('movie-video-holder-'+slideActive+'', {"autoplay": false, "preload": "auto", "controls": false, "lopp": false}, function(){
                            currentVideo = $vid;
                            [...]
                        });
                }
            }
    [...]
Run Code Online (Sandbox Code Playgroud)

谢谢!

bne*_*bne 7

这看起来与https://github.com/videojs/video.js/pull/1481有关

一个非常讨厌的黑客(直到补丁合并)将暂停播放器,等待错误后的帧,然后处置播放器:

player.pause();
setTimeout(function() {
    player.dispose();
}, 0);
Run Code Online (Sandbox Code Playgroud)