window.onbeforeunloadデフォルトのメッセージを生成する関数があります:
「このページから移動してもよろしいですか....」 .
クリックするOKと新しいリンクにリダイレクトされ、押すcancelと同じページにリダイレクトされます。
OK ページを押して離れたときに、ページからデータを保存したいと思います。OKまたはが押されたかどうかを知るにはどうすればよいでしょうかcancel。その後、イベント呼び出しを行い、「OK」/「キャンセル」オプションを続行します。
window.onbeforeunloadデフォルトのメッセージを生成する関数があります:
「このページから移動してもよろしいですか....」 .
クリックするOKと新しいリンクにリダイレクトされ、押すcancelと同じページにリダイレクトされます。
OK ページを押して離れたときに、ページからデータを保存したいと思います。OKまたはが押されたかどうかを知るにはどうすればよいでしょうかcancel。その後、イベント呼び出しを行い、「OK」/「キャンセル」オプションを続行します。
考えられるアプローチとして、イベントにフックすることも考えられます。onunloadそのハンドラーが呼び出された場合、ユーザーが を選択したことがわかりますOK。
でonbeforeunload、しばらくしてから呼び出されるタイムアウト コールバックを設定します (例: 1 秒)。それが呼び出された場合、ユーザーは を選択した可能性がありますCancel。
ただし、競合状態に関してこれがどれほど安全かはわかりません。
function leavePage() {
//do your thing like saving the data in the session
return "Some data entered may be lost."; //a text needs to be returned
}
window.onbeforeunload = leavePage;
JavaScript の「確認」ダイアログを使用していますか?
if(confirm("Are you sure you want to navigate away from this page....")) {
// OK was pressed
} else {
// Cancel was pressed
}