0

クライアントがページを離れたときにサーバーに通知することは可能ですか (少しのデータで単一の HTTP 要求を作成します。応答は重要ではありません)。

私は実際にサーバーへのリクエスト接続を常に維持するjavascriptを使用してpython-tornado cometアプリケーションを使用しています(イベントで閉じられ、再度開かれます。これに基づいています: https://launchpad.net/eftw )。

これをデバッグする簡単な方法が見つかりませんでした (特に FireBug を使用)。それはそれをかなり問題にします。

ああ、そして実際のコード(とにかくある程度使えるので):http://bazaar.launchpad.net/~hoverhell/xftw/trunk/files

4

1 に答える 1

4

信頼できる方法でこれを行うことはできません。ブラウザーと待ち時間によっては、XmlHttpRequest が実際に終了する前に強制終了される可能性があります。

ブラウザー メーカーは、次のページをできるだけ早くレンダリングしたいと考えています (正しくは、imo)。onbeforeunloadとはonunload、残っている変数をすばやく破棄することを目的としたクリーンアップ イベントであり、待機することを意図していないため、ブラウザーは待機しません。新しいブラウザーのガベージ コレクションも大幅に改善されているため、ブラウザーがこれらのイベントを待機する理由はさらに少なくなります。

window.onbeforeunloadイベントでリクエストを送信できますが、サーバーに届きますか? 多分。

于 2010-08-14T09:49:43.413 に答える