ユーザーが自分のアプリをどれだけ簡単に離れられるかを制御したい。今、私はそれを完全に行うことができないことを知っています。それがcronジョブの目的です。しかし、できるだけ多くのケースをキャッチしたいと思います。
onBeforeUnload
ダイアログ ボックスを表示して、終了することを警告し、代わりに [終了] ボタンをクリックするように求めることができると思いました。
しかし、その後、 が呼び出されたときに同期 AJAX (heh) 呼び出しを実行できる可能性があることがわかりましたonBeforeUnload
。私が理解しているように、同期であることの利点は、ブラウザが続行する前に終了するのを待つことです。そうすれば、サーバーがウィンドウを閉じるときにログオフしていることをサーバーに伝えることができます。in でonBeforeUnload
あり notであるためonUnload
、すべてのデータがまだ残っており、呼び出しが送信されます。
私の質問は、これらを組み合わせることは可能ですか? 離職を警告するポップアップを表示して、引き続き離職を希望する場合は、実際に離職する旨のメッセージを送信してください。
私の理解では、これはできません。できます:
- メッセージのみを送信する
- ダイアログのみを表示する
- メッセージを送信してダイアログを表示する
...しかし、彼らがダイアログを受け入れた場合、条件付きでメッセージを送信することはできませんよね? 私の理解では、彼らが「OK, I want to leave」をクリックするとすぐに発火onUnload
し、その時点では手遅れです。上記の #3 は役に立ちません。ユーザーがログオフしているというメッセージを送信してから、ダイアログをキャンセルしてページにとどまらせたくないからです。
私のケーキを持って食べてもいいですか?彼らが去りたいかどうか尋ねて、そうであれば、メッセージを送ることはできますか?