2009-08-03 1 views
4

XMLHTTPRequestバインディングを使用して、サーバーから非同期イベントを受信して​​います。 XHRはサーバURIを開き、イベントが到着するかタイムアウトが発生するまでハングアップします。いずれの場合も、JSは同じURI上で新しいXHRを直ちに起動します。XHRがアクティブな間にSafariとChromeがアニメーションの読み込みを表示しないようにする方法はありますか?

これはうまくいきますが、SafariとChromeには厄介な問題があります.XHRがアクティブな間に「ページ読み込み」アニメーションが表示され続けます。 Chromesはさらに進んでカーソルのアニメーションを維持し、効果的にアプリケーションを使用できなくします。

この動作を無効にする方法はありますか?私はセキュリティ上の理由からこれが意図的に行われたと信じていますので、ユーザーはいつでもページに何かがロードされているかどうかを知ることができます。それでも、FFとIEはXHRを別々に扱います。

+0

要求を行うために使用しているコードを投稿できますか? – johnvey

答えて

2

アニメーションローディングインジケータは、ページの読み込みが進行中であることを示します。これはwindow.onload()イベントハンドラから直接開始された一連のXHRで発生する可能性があります。これらのXHR呼び出しがsetTimeout()呼び出しにラップされると、非同期イベントリスニングへのバインディングでページロードが完了します。

+0

正確に。ありがとうございました! –

+0

iPhoneのUIWebViewでは、setTimeoutメソッドは遅延が十分に大きい(約100ms程度)場合にのみ機能します。それ以外の場合、私はまだスピナーを得る:( –

0

これはURIへの同期要求で発生すると思います。あなたは多くの場合、非同期要求を試してみたいと思います。私は彼らの扱いが異なっていると思う。

+0

ありがとう、それをすぐに試してみます –

+0

否定。私たちはすでに非同期xhrを使用しています。だから問題はまだそこにある。 –

+0

ポジティブ! (抵抗できませんでした)それから分かりません。これは、jQueryやYahooなどの他のフレームワークを使用している場合は発生しません。また、イベントが来るか、同期機能が非同期であるタイムアウトが発生するまで、ページがハングアップする場合もあります。私はあなたのコードをチェックして、ページが停止していないことを確認します。なぜなら、おそらくロード信号が発生しているからです。 –