当我尝试使用最新版本的videojs 5时,以下代码不再有效。我正在尝试编写一个videojs插件,但videojs 5使用ecmascript 6,这对我来说是新的。任何帮助都表示赞赏。
videojs.SharingButton = videojs.Button.extend({
/** @constructor */
init: function(player, options){
videojs.Button.call(this, player, options);
this.player = player;
}
});
videojs.SharingButton.prototype.createEl = function(tagName,options) {
return videojs.Component.prototype.createEl(tagName,{
className: this.buildCSSClass(),
innerHTML: '',
role: 'button',
'aria-live': 'polite', // let the screen reader user know that the text of the button may change
tabIndex: 0
});
}
videojs.SharingButton.prototype.buttonText = 'Share Video';
videojs.SharingButton.prototype.options_ = {};
videojs.SharingButton.prototype.buildCSSClass = function(){
return 'vjs-sharing-control ';
};
答案 0 :(得分:1)
您好我有同样的问题,替换此代码
videojs.SharingButton = videojs.Button.extend({
通过
var SharingButton = videojs.getComponent('Button');
videojs.SharingButton = videojs.extend(SharingButton , {...});
videojs.registerComponent('SharingButton', SharingButton);
var myButton = myPlayer.addChild('SharingButton');
如果要添加不是播放器元素的直接子元素的Component,则必须爬上子元素并添加Component。 像:
parentComponent = myPlayer.getChild('component1').getChild('component2')...
parentComponent.addChild('SharingButton')
请注意播放器组件必须以小写字母开头,例如controlBar
。
在此Define function in leaflet cluster options中找到组件树。
在构建5.0版本时已经进行了很多更改(请参阅此link),不幸的是大多数videojs插件都没有更新他们的代码!其中一个主题是社交按钮分享