手动清除或删除mediaelement.js播放器

时间:2012-02-24 00:24:46

标签: backbone.js mediaelement.js

我正在尝试在backbone.js网站上使用mediaelement.js播放器,当我进出我设置的各种路线时,我无法手动删除视频/音频播放器。

假设我的页面上有两个视频。当我离开此页面时,这两个视频仍保留在内存中:

> mejs.players
> [object, object]

当我返回页面时,原始的两个视频仍然在内存中,另外两个视频被添加到播放器对象中:

> mejs.players
> [object, object, object, object]

事实上,每次离开页面然后返回时,都会在mejs.players对象中添加另外2个玩家。

有没有办法手动清除/删除所有玩家?

我尝试了以下内容:

mejs.players[0].remove()

这似乎从页面中删除了播放器控件,留下了HTML5视频播放器。但是,当我检查mejs.players时,播放器仍然存在。我可能错了,但这似乎不是最佳表现。

2 个答案:

答案 0 :(得分:2)

由于这是针对Backbone站点(具有UnderscoreJS),这可行,您可以使用_.keys()而不是Object.keys()

if (mejs) {
    var players = _.keys(mejs.players);
    _.each(players, function(player) {
        mejs.players[player].remove();
    });
}

答案 1 :(得分:0)

首先删除mejs.players并创建新的mejs.players数组

if(mejs){

删除mejs.players;

mejs.players = [];

}