Ata*_*adj 9 javascript video jquery html5 video.js
在VideoJS网站上,您声明支持已移至StackOverflow,所以让我们在这里试一试.我有以下代码:
var player = _V_('the_id', {}, function(){
jQuery('.remove').on('click.destroyvideojs', function(){
player.destroy();
jQuery(this).unbind('click.destroyvideojs');
});
});
Run Code Online (Sandbox Code Playgroud)
它首先初始化视频并将其销毁.
但是,当我想使用相同的代码片段再次初始化它时,它不起作用.它不会在相同的元素ID上初始化脚本(当它从DOM中删除时,并在添加后再次添加正确的初始化调用).我想知道为什么会发生这种情况?
今天再试一次:
var the_id = 'my_id';
var player = _V_(the_id, {}, function(){
player.destroy();
_V_(the_id, {}, function(){
alert('reinit');
});
});
Run Code Online (Sandbox Code Playgroud)
因此,重新初始化VideoJS根本不起作用.此外,它现在从视频中删除了控件.
man*_*ire 23
如果这有助于任何人,它看起来像是dispose在版本4中:
var player = videojs('my-video');
player.dispose();
Run Code Online (Sandbox Code Playgroud)
小智 5
看了Video.js 5.0.0的源代码.@l:17236您可以执行以下操作:
if(videojs.getPlayers()[id]) {
delete videojs.getPlayers()[id];
}
Run Code Online (Sandbox Code Playgroud)
player回调执行时似乎还没有定义。看看这个js小提琴http://jsfiddle.net/gaboesquivel/BA8Pm/
destroy(); 对我有用。这个函数是这样的
destroy: function () {
this.stopTrackingProgress();
this.stopTrackingCurrentTime();
_V_.players[this.id] = null;
delete _V_.players[this.id];
this.tech.destroy();
this.el.parentNode.removeChild(this.el)
}
Run Code Online (Sandbox Code Playgroud)
也检查这个解决方案 http://help.videojs.com/discussions/problems/861-how-to-destroy-a-video-js-object#comment_13544514
| 归档时间: |
|
| 查看次数: |
17413 次 |
| 最近记录: |