我使用的插件允许我在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,所以我不知道我是怎么做的可以解决这个问题。
答案 0 :(得分:1)
好的同志们,我一直在阅读videojs 6的手册,显然要解决这个问题只需改变一条线:
videojs.getComponent -to- videojs.getTech
我留在这里以防有人遇到同样的问题。 当然,我不是Javascript专家,所以老实说我不知道如何解释这个。