我正在尝试使用backbone.js站点中的mediaelement.js播放器,但当我移入和移出我设置的各种路线时,手动删除视频/音频播放器时遇到了问题。
假设我的页面上有两个视频。当我离开这个页面时,这两个视频仍然保存在内存中:
> mejs.players
> [object, object]当我返回页面时,原来的两个视频仍然在内存中,另外两个视频被添加到播放器对象中:
> mejs.players
> [object, object, object, object]实际上,每次我离开页面然后返回时,mejs.players对象中都会添加额外的2个播放器。
有没有办法手动清除/删除所有玩家?
我尝试过以下几种方法:
mejs.players[0].remove()这似乎从页面中删除了播放器控件,留下了HTML5视频播放器。但是,当我检查mejs.players时,播放器仍然存在。我可能错了,但这似乎不是性能的最佳选择。
发布于 2013-04-26 10:09:42
由于这是针对主干站点(具有UnderscoreJS),因此可以使用_.keys()而不是Object.keys()
if (mejs) {
var players = _.keys(mejs.players);
_.each(players, function(player) {
mejs.players[player].remove();
});
}发布于 2014-01-21 15:23:55
首先删除mejs.players并创建新的mejs.players数组
如果(mejs) {
删除mejs.players;
mejs.players = [];
}
https://stackoverflow.com/questions/9423600
复制相似问题