0

ページにフラッシュ要素があり、読み込みに最大1分かかる複雑なクエリに基づいてグラフを読み込みます。私はこのコードでクエリを呼び出します:

var chartData:URLLoader = new URLLoader();
chartData.addEventListener(Event.COMPLETE, onLoaded);
chartData.addEventListener("httpStatus", onHttpStatus);
chartData.load(new URLRequest(chartURL));

完全なイベントまたはサーバーエラーイベントをリッスンします。

私の問題は、フラッシュがURLをロードしているときにユーザーが別のページに移動したい場合です。ブラウザーは、ユーザーの要求を受け入れる前に、URLが完全にロードされるのを待機しています。私が言ったように、このチャートはロードするのに最大1分かかることがあり、ユーザーがページを変更したい場合に待つのはちょっと面倒です。

これが私の質問です:ブラウザからイベントをリッスンするイベントはありますか(別のリンクをクリックして、ブラウザの「戻る」ボタンをクリックしてください...)?私がこれを行う方法が間違っている場合は、遠慮なく教えてください。私はフラッシュでプログラムすることにあまり慣れていません。

ありがとうございました。

4

1 に答える 1

0

私はあなたが何を説明しているのか理解していると思います。あなたが試してみたいかもしれないいくつかのこと:

ファイルアップロードHTTPサーバー

ファイルが非常に大きい場合は、Nginxなどの別のHTTPサーバーにファイルをロードすることをお勧めします。Nginxアップロードモジュールをチェックしてください(Apacheにも同じことがあると確信しています)。これにより、基本的に、ユーザーに影響をまったく感じさせずにファイルをアップロードできます。

これに関する唯一の問題は、それがかなり複雑であり、ファイルのアップロードがいつ完了したかがわからないことです。しかし、Javascriptを使用してNginxでアップロードプログレスバーEvent.COMPLETEを表示する方法の例がありますので、そのようなことを行うことができ、完了時に(javascriptで)、ハンドラーのようなものを呼び出すメッセージをフラッシュに送信します。

ブラウザイベント

ダウンロードが完了するまでユーザーがページを離れないようにするために、Javascriptでインターセプトするブラウザーイベントがあります(ユーザーを煩わせる可能性があるため、お勧めしません)。

  • onexit
  • onclose
  • onblur(他の場所をクリックしたとき)

この例を確認してください:Javascript onclose:ユーザーに警告します

お役に立てば幸い、ランス

于 2010-02-24T00:10:21.660 に答える