我正在尝试在 backbone.js 站点中使用 mediaelement.js 播放器,但当我进出我设置的各种路线时,我无法手动删除视频/音频播放器。
假设我的页面上有两个视频。当我离开这个页面时,这两个视频仍然保存在内存中:
> mejs.players
> [object, object]
当我返回页面时,原来的两个视频仍在内存中,另外 2 个视频被添加到播放器对象中:
> mejs.players
> [object, object, object, object]
事实上,每次我离开页面然后返回时,都会向 mejs.players
对象添加额外的 2 个玩家。
有没有办法手动清除/移除所有玩家?
我试过以下方法:
mejs.players[0].remove()
这似乎从页面中删除了播放器控件,留下了 HTML5 视频播放器。但是,当我检查 mejs.players
时,播放器仍然存在。我可能是错的,但这似乎不是性能的最佳选择。
最佳答案
因为这是一个 Backbone 站点(它有 UnderscoreJS),这会起作用,你可以使用 _.keys() 而不是 Object.keys()
if (mejs) {
var players = _.keys(mejs.players);
_.each(players, function(player) {
mejs.players[player].remove();
});
}
关于backbone.js - 手动清除或删除 mediaelement.js 播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423600/