3

ロングポーリングリクエストに以下を使用しています...

$.getJSON(url, function(data) {
     ...
});

要求は、30 秒が経過するか、送信する情報が存在する (ロングポーリング) まで終了しません。

問題は、下部に「Waiting for URL...」と表示されるブラウザが Firefox だけであることです。これを防ぐ方法はありますか?

4

1 に答える 1

1

一部のユーザーはそこに座ってページが「ロード」されるのを待つため、これはかなり悪いことであり、これを行うブラウザは Firefox だけではありません。残念ながら、かなり風変わりなテクニックを使わずにこれを修正する簡単な方法はないと思います。期間がクライアントへのデータ転送ではなく、サーバーの処理時間によるものである場合は、疑似非同期呼び出しを使用することをお試しください。リクエストを受け取ったら、サーバー上で新しいスレッドを開始し、メッセージをクリアするトークンを返します。「x」秒ごとにトークンをサーバーに送り返し、リクエストが完了したかどうかを確認します。現在のリクエストに必要なセキュリティ/認証方法が、非同期リクエストの両端で複製されていることを確認してください。

于 2010-05-13T12:25:05.983 に答える