0

私が現在取り組んでいるサイトには、カルーセルに関する一連のビデオがあります(全部で6つ)。ご想像のとおり、これは、特にフラッシュビデオバージョンに関して、パフォーマンスの問題を引き起こしています。

CPU使用率を向上させるために、カルーセルのフォーカスを離れるときに、ビデオで.hide()(jQueryを使用)を呼び出し始めました。それはCPU自体を大いに助けました。

問題は、オブジェクト要素で.show()を呼び出すたびに、FiddlerのビデオソースのXHRに気付くということです。メモリリークが発生しているため、この新しいリソースは毎回メモリに追加されていると思います。要素の削除/再作成も試みましたが、ビデオを非表示にして表示する場合と同じタイプのメモリリークが発生します。

また、ActionScriptを使用してFlashファイルにJavascriptフックを書き込むことも検討しましたが、そのような環境設定がないため、厳密にjavascriptを探しています。

ビデオを一時停止/再生する効果的な方法はありますか?

御時間ありがとうございます。

4

1 に答える 1

1

残念ながら、Flashビデオに純粋なJavascriptソリューションの使用をやめるように指示する方法はありません。Actionscriptソースにアクセスできる場合は、ExternalInterfaceコールバックをリッスンし、一時停止コードを処理できます。

Javascriptを介したFlashオブジェクトの破棄と再作成に関しては、SWFObjectを使用している場合は、removeSWFメソッドを試すことができます。オブジェクトタグ全体がソースから削除されますが、ブラウザのメモリ管理がどのようになっているのかわかりません。以前と同じメモリリークの状況に直面する可能性があります。

私の提案は、一時停止と再開の機能を適切に処理できるように、Flashソースにアクセスするか、独自に作成することです。

于 2012-07-02T20:13:49.077 に答える