VideoJS - videojs.getComponent(...)未定义

时间:2017-10-22 23:20:52

标签: javascript jquery plugins compatibility video.js

我使用的插件允许我在video-js中显示广告。

https://github.com/dirkjanm/videojs-preroll/blob/master/lib/videojs.ads.js

这直到第5版完美无缺,但现在我想迁移到版本6,这个插件不再有效,日志会抛出以下错误:

TypeError: videojs.getComponent(...) is undefined               videojs.ads.js:386

似乎一切都在插件的这一部分(第386行):

    (function() {
      var
        videoEvents = videojs.getComponent('Html5').Events,
        i,
        returnTrue = function() { return true; },
        triggerEvent = function(type, event) {
          // pretend we called stopImmediatePropagation because we want the native
          // element events to continue propagating
          event.isImmediatePropagationStopped = returnTrue;
          event.cancelBubble = true;
          event.isPropagationStopped = returnTrue;
          player.trigger({
            type: type + event.type,
            state: player.ads.state,
            originalEvent: event
          });
},

这个插件从一段时间以来一直没有更新,所以我也给出了一些关于如何注册插件的警报,但是我可以解决它,我不是很了解javascript,所以我不知道我是怎么做的可以解决这个问题。

1 个答案:

答案 0 :(得分:1)

好的同志们,我一直在阅读videojs 6的手册,显然要解决这个问题只需改变一条线:

videojs.getComponent -to- videojs.getTech

我留在这里以防有人遇到同样的问题。 当然,我不是Javascript专家,所以老实说我不知道​​如何解释这个。