我正在尝试在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
时,播放器仍然存在。我可能错了,但这似乎对性能不是最优的。
mejs.players
设置为[]
吗?(即重置数组)当你调用mejs.players[0].remove()
时,实际上是在第一个播放器上调用MediaElement自己的remove
函数。我不知道那个插件是如何工作的,所以这可能就是你看到的行为原因。 - Josh Leitzel