最近、Web アプリケーションの特定のページが閉じられようとしていることをサーバーに通知する緊急の要件がありました。「簡単なピージー」と思いbeforeunload
ましたが、かなり長い間利用できます。HTML5 の「もの」は、イベント ハンドラーなどから文字列値を取得するオプションがあり、ユーザーにインターセプトのオプションを与えるという形で、仕様を更新しました(それは私が考えたことでした...) 。return
beforeunload
についての MDN ページを参照してください。onbeforeunload
しかし、結局のところ、この日付までの動作を説明する「公式の」仕様はありません。beforeunload
私が見つけた唯一の公式文書はWHATWGにあり、もちろんこれは W3C への単なる提案です。
ここまでは順調ですね。イベントハンドラー内で同期された XHR リクエストを作成できます。beforeunload
「ほとんどの」ブラウザでは、そのリクエストが完了するまでに約 1 ~ 2 秒の時間枠が与えられ、その後、強制終了されます。標準の非同期リクエストはすぐに強制終了されます。とは言っても、どこから知ったのかも分からず、今見るとゴシップや口コミのようです。それでも、Firefox + Chrome で動作しますが、これに頼ることはできませんね。
WHATWG について進行中の議論/提案はありますbeforeunload
か?
私が見つけられなかったイベントに関する他の公式リソースはありますか?
ここで私にとって最も重要なことは、sync-XHR 経由でデータをどの程度確実に送信できるかということです。