12

これに関して多くの質問があることは知っていますが、何も正しく答えられていません。ユーザーがページを離れたときに確認ダイアログを表示したい。ユーザーが [キャンセル] を押すと、ページにとどまり、[OK] の場合、ユーザーが行った変更はメソッドを呼び出してロールバックされます。私はこのようにしました:

window.onbeforeunload = function () {
  var r = confirm( "Do you want to leave?" );
  if (r == true) {
       //I will call my method
  }
  else {
      return false;
  }
};

問題は、ブラウザのデフォルトのポップアップ「LeavePage / StayOnPage」が表示されることです。

このページは退出の確認を求めています。入力したデータは保存されない可能性があります。

このメッセージは Firefox で表示されますが、Chrome では少し異なります。最初の確認ダイアログで [OK] を押すと、このポップアップが表示されます。

このダイアログを表示しない方法はありますか? (2番目のもの、私が作成したものではありません)。または、このポップアップを制御する方法がある場合、その方法を知っている人はいますか? ありがとう

4

3 に答える 3