ユーザーがページを離れるときに何かを思い出させる必要があります。これは、window.onUnloadイベントで処理できます。ただし、ページ上のフォームを送信するか、ナビゲーションリンクをクリックして、ユーザーがナビゲートしているかどうかも確認する必要があります。フォームのonSubmitイベントを使用してフラグを設定し、window.onUnloadイベントでそのフラグと照合することもできますが、どちらが最初に起動するかはわかりません。
何か案は ?
ユーザーがページを離れるときに何かを思い出させる必要があります。これは、window.onUnloadイベントで処理できます。ただし、ページ上のフォームを送信するか、ナビゲーションリンクをクリックして、ユーザーがナビゲートしているかどうかも確認する必要があります。フォームのonSubmitイベントを使用してフラグを設定し、window.onUnloadイベントでそのフラグと照合することもできますが、どちらが最初に起動するかはわかりません。
何か案は ?
実際にはwindow.onbeforeunloadが必要です
window.onbeforeunload = function (e) {
var e = e || window.event;
// For IE and Firefox
if (e) {
e.returnValue = 'Are You Sure?';
}
// For Safari
return 'Are You Sure?';
};
form.onSubmit イベントが最初に発生することが判明したので、フラグを使用できます。これは Firefox と Safari でのみ確認しました。
var isRefresh = true;
window.onunload = function () {
alert('the page was ' + (isRefresh == false ? 'NOT ' : '') + 'refreshed');
}
$('a').live('click', function () { isRefresh = false; alert('a link was clicked'); });
$('form').bind('submit', function () { isRefresh = false; alert('form was submitted'); });
ブラウザウィンドウのクローズイベントをキャプチャする方法に基づいていますか? . 更新ロジックを追加しました。