我正在嘗試在backbone.js網站中使用mediaelement.js播放器,並且我在進出各種路由時手動刪除視頻/音頻播放器時遇到問題我已經成立了。手動清除或刪除mediaelement.js播放器
比方說,我的網頁上有兩個視頻。當我從這個網頁搬走,這兩部影片仍然被保存在內存中:
> mejs.players
> [object, object]
當我回到頁面,原來的兩個視頻仍然在內存和一個額外的2個視頻被添加到播放器對象:
> mejs.players
> [object, object, object, object]
其實,每次我離開頁面,然後及時歸還,另外的2名球員被添加到mejs.players
對象。
有沒有辦法清除/手動刪除所有玩家?
我已經試過如下:
mejs.players[0].remove()
這似乎從頁面移除播放器控制,使HTML5視頻播放器。然而,當我檢查mejs.players
時,球員仍然存在。我可能是錯的,但這對於性能來說似乎並不理想。
您是否嘗試過將'mejs.players'設置爲'[]'? (又名,重置數組)當你調用'mejs.players [0] .remove()'時,你實際上在第一個播放器上調用MediaElement自己的'remove'函數。我不知道這個插件是如何工作的,所以這可能是你看到你所看到的行爲的原因。 – 2012-02-24 04:57:42
我認爲你是對的。我不太熟悉關於內存管理的最佳實踐,但是當我在清空數組之後在路由之間移動時,它仍然是空的,這意味着什麼。 :) 謝謝! – 2012-02-24 07:56:08