Onunloadイベントでサーバー(xmlhttprequest?)に通知しますか?
-
28-09-2019 - |
質問
クライアントがページを離れると、サーバーに通知することは可能ですか(少しのデータを使用して単一のHTTP要求を行いますが、応答は重要ではありません)?
私は実際に、JavaScriptを使用してPython-Tornado Cometアプリケーションを使用しています(イベントで閉じられて再オープンします)。 https://launchpad.net/eftw).
これをデバッグする簡単な方法は見つかりませんでした(特にFirebugを使用)。それはそれを非常に問題にします。
ああ、そして実際のコード(とにかくすでにやや使いやすいので): http://bazaar.launchpad.net/~hoverhell/xftw/trunk/files
解決
これを行うことはできません 信頼性のある 方法は、ブラウザとレイテンシに応じて、XMLHTTPREQUESTが実際に終了する前に殺される可能性があります。
ブラウザメーカーは、(正しく、IMO)次のページをできるだけ早くレンダリングしたいと考えています。 onbeforeunload
と onunload
残された変数をすばやく処分することを意図したクリーンアップイベントは、待機することを意図していない...したがって、ブラウザはそうではありません。新しいブラウザのガベージコレクションも大幅に改善されているため、ブラウザはこれらのイベントを待つ理由がさらに少ないです。
でリクエストを送信できます window.onbeforeunload
イベント...しかし、それはサーバーに到達しますか?多分。
所属していません StackOverflow