- オブジェクトを作成してから準備状態になるまでに、フラッシュオブジェクトがブラウザ内で読み込まれるまでの時間を取得する方法はありますか?
答えて
Flashオブジェクトの読み込み時間を測定したいだけなら、FireBugを使用できます。 Flexアプリケーションが完全に使用可能になった時点(つまり、すべてのRSLがロードされ、初期ロードされているすべてのデータ)を知りたい場合は、2つのアプローチがあると思います。アプリケーション内の1つは、カスタムプリローダーを使用してタイミングを開始し、条件が満たされたタイミングを停止します。もう1つはJavaScriptとです。そのうちの後者は、プリローダーがロードされる前にすでに遅延が発生している可能性があるため、最も正確な結果が得られます。
JavaScriptとのExternalInterface
私はちょうど私の考えを説明するつもりですので、これをやったことがありません。 Javascriptでは、Flashオブジェクトの読み込みを開始するときに、「日付」オブジェクトを作成します。あなたはおそらくSWFObjectを使ってFlashオブジェクトをページに挿入しているので、おそらくそこにどこかで接続することができます。その後、Flexアプリケーションの内部で、必要な条件が満たされたとき(それらが何であるかを定義するとき)、ExternalInterface.call()を使用して、Flexアプリケーションの準備ができていることをJavaScriptに伝えます。新しい「日付」を作り、最初の「日付」を引くと、あなたの読み込み時間があります。
のExternalInterfaceを使用して上の詳細情報は、ドキュメントに記載されています。http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cb2.html
詳細
アプリの準備ができたときに我々は呼びますJavaScript関数を作成します。
function onFlexAppReady() {
var end = new Date().getTime();
var loadTime = end - start; //in ms.
}
FlashBuilderによって生成されたコードで、swfが注入される前の開始時刻を追加します。
var start = new Date().getTime();
swfobject.embedSWF(
"MyFlexApp.swf", "flashContent",
"100%", "100%",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
最後に、あなたのFlexアプリケーションでは、右の条件が満たされている場合、JavaScript関数を呼び出します。
ExternalInterface.call("onFlexAppReady");
は再び、これはすべての未テストコードですが、それはあなたが始める必要があります。
- 1. メインアセンブリにバンドルされている組み込みアセンブリをどのように読み込みますか?
- 2. Pythonでharファイルからページ読み込み時間を取得するには?
- 3. 合計ページ読み込み時間を取得する
- 4. WebPagetestは読み込み時間をどのように測定しますか?
- 5. ウェブページの応答と読み込み時間を測定するにはどうすればよいですか?
- 6. 静的HTMLサイトの読み込み時間を改善するにはどうすればよいですか?
- 7. ベストプラクティス:View Controllerの読み込みに時間がかかる場合はどうすればよいですか?
- 8. iPhoneのアプリケーションの読み込み時間はどのように計算されますか?
- 9. InputStreamの読み込み時のパフォーマンスを向上させるにはどうすればよいですか?
- 10. Spring Beansの読み込みログを取得するにはどうすればよいですか?
- 11. WPFのダイアログ読み込み時間を最小限にする
- 12. Android:ウェブサイトからXML情報を取得する際の読み込み時間を短縮するにはどうすればよいですか?
- 13. ページの読み込み時にボトルネックを特定するにはどうすればよいですか?
- 14. ページの読み込み時に逆ジオコードを初期化するにはどうすればよいですか?
- 15. レールの読み込み時間が遅い3.2 - デバッグでレールの読み込みが2回表示される
- 16. 読み込み時間
- 17. mswsock.dllの読み込みに時間がかかりすぎる
- 18. ビットマップの読み込みに時間がかかりすぎる
- 19. 埋め込みフラッシュオブジェクトに黒いバーが表示される
- 20. 読み込み時にコンテキストメニューを読み込むにはどうしたらいいですか?
- 21. 埋め込みswf自動読み込み時に読み込まれる
- 22. iOS、CoreLocation - アプリの読み込み時にユーザーの場所を取得する
- 23. Java copy-overwriteファイル。読み込み時に古いファイルを取得する
- 24. ページ読み込み時間を増やす
- 25. ページの読み込み時に自動Google翻訳を行うにはどうすればよいですか?
- 26. java:datainputstream:データを待つ間に読み込み呼び出しがプロセッサ時間を消費するか?
- 27. ページの読み込み時に毎回ページの読み込み
- 28. 読み取り時間と書き込み時間
- 29. XML読み込みに長時間を要する
- 30. ウェブサイトの読み込みをよりきれいにするにはどうすればよいですか?
externalinterface呼び出しを避けたい場合、SWFObjectのembedSWFメソッドは実際には「属性」の後にもう1つのオプションのプロパティを持ちます。これは、フラッシュが完全にロードされたときに呼び出されるコールバックメソッドです。 swfobject.embedSWF( "MyFlexApp.swf"、 "flashContent"、 "100%"、 "100%"、swfVersionStr、xiSwfUrlStr、flashvars、params、attributes、onFlexAppReady); –
@JamesTomasino Flashアプリケーションがロードされたとき、またはフレームワークRSLを含む完全なFlexアプリケーションがロードされたときに、この関数が呼び出されますか?これは同じことではありません。私は最初のオプションを推測します。この場合、Flexフレームワークが読み込みを開始するときに既に呼び出されます。いずれにしても、最初のデータがロードされるまで待つことは間違いありません。 – RIAstar
ExternalInterfaceコールバックが利用可能になると呼び出されます。それは間違いなく、サポート資産やデータではなくswf自体をロードするのにかかる時間の尺度です。 –