backbone.jsサイトでmediaelement.jsプレーヤーを使用しようとしていますが、さまざまなルートに移動したときにビデオ/オーディオプレーヤーを手動で取り外すことができません私はセットアップしました。mediaelement.jsプレーヤーを手動で消去または削除する
私のページに2つの動画があるとします。私はこのページから移動すると、これら2つのビデオはまだメモリに保存されています。私は、ページに戻ったら
> mejs.players
> [object, object]
は、元の2本の動画がメモリに残っていると、追加の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'関数を最初のプレーヤーで呼び出すことになります。そのプラグインがどのように動作するのかわからないので、あなたが見ている動作を見ているのかもしれません。 –
私はあなたが正しいと思います。私はあまりメモリ管理に関するベストプラクティスに精通していませんが、配列を空にした後にルート間を移動すると空のままになり、何かを意味するはずです。 :)ありがとう! –