2011-11-22 11 views
5

私は何も制御できない数十のWebサイトにアップロードされるフラッシュファイルを開発しています。そのうちの1つがswfをgzipしているように見えて、loaderInfo.bytesTotalがゼロになっています。これは、読み込みアニメーションをねじ込みます。loaderInfo.bytesTotalが0の場合の対処

bytesTotalがゼロであるかどうかをテストするだけの回避策を試みました。これは、期待どおり、必要なデータがすべてロードされていないために機能しません。あるいは、予想される負荷時間が何であれ、時間の遅れを入れて、それがすべてのベースをカバーすることを願っています。

他に提案がありますか?理想的にはbytesTotalを定義する別の方法がありますが、見つけられません。

FYIこれは、この質問に幾分関連している:私は他のウェブサイトを制御することはできませんので、そのうちのいくつかは、とにかくWindowsサーバ上にあってもよいWhy loaderInfo.bytesTotal is Zero

しかし、私はhtaccessの提案を行うことはできません。

答えて

0

可能であれば、フラッシュバザーの合計バイト数を渡すか、ファイル内のどこかに格納することができます。 あなたがlaodeにファイルを定義するためのスクリプトを使用している場合は、サイズを指定してフラッシュに渡すことができます。そのため、totalbytesが0の場合は、他の方法で与えられたサイズに基づいて進捗を数えることができます。

これは私がこの問題について知っている唯一の解決策です。

+0

私はflashvarを使用してbytesTotal値を渡している完全に動作しているようだ、ありがとうJakub。私は最初にloaderInfo.bytesTotalが0だった場合に限り、flashvarバージョンを使用しようとしましたが、firefoxでは0ではありませんでしたが、どちらも正しくないことが判明しました。だから私は2つの最高値を使用するように設定しました(loaderInfo.bytesTotalとflashvar bytesTotal)。 –

+0

偉大なローダーが[LoaderMax](http://www.greensock.com/loadermax/)を試してみたいですか?既に実装されているほとんどのものを含む素晴らしいライブラリです。それが私がそれを見つけたところです。 –

0

ムービーが徐々に読み込まれるように、アプローチを変更することを検討してください。シンボル定義で「フレーム1で書き出し」のチェックを外すと、すべてが最初に使用/参照された場所にロードされます。これは、IDEがあなたのためにあなたのオブジェクトの大部分をステージに置くことを許可した場合にのみ機能することに注意してください。このアプローチの詳細については、http://www.developria.com/2010/04/combining-the-timeline-with-oo.htmlをご覧ください。記事のコードはここにありますhttp://flexdiary.blogspot.com/2010/04/sample-code-for-oop-timeline-insideria.html

+0

おかげでエイミーは面白いテクニックのようです。しかし、私は@JakubSłabyによって提案されたアイデアに行ったので、いくつかの大きな変更が必要になります –

0

問題はGoogle Chromeが独自のバージョンのFlash Playerを使用していることです。 Chromeの設定で無効にすると、bytesTotalは正常に機能します。しかし、もちろん、誰にもそれを無効にするように伝えることはできません。

すべての状況で読み込みが完了したときに、どのように検出できるかがわかりました。この回答を確認することができます:Why loaderInfo.bytesTotal is Zero

関連する問題