2016-11-18 4 views
0

データを編集するためのページがあり、データを保存してページを閉じるためのボタンがあります。このページには、ユーザーが行った変更を保存しないで終了するかどうかをユーザーに促すためのモーダルポップアップもあります(変更があった場合)。JavaScriptを使用してポップアップを使わずにウィンドウを閉じるのを防ぐには「このページを残してもよろしいですか?

しかし、これはユーザーがボタンをクリックしたときに機能しますが、ウィンドウの右上にあるXをクリックすると機能しません。私はこのページをクリックすると停止することができますし、通常の「あなたはこのページを残しておきますか?」というメッセージを聞きますが、これはモーダルポップアップと同じくらいいいものではありません。どのような方法で画面を終了しようとしたかにかかわらず同じメッセージ。

ユーザーが変更を加えたが、「このページを残してよろしいですか?」というメッセージを使わずに、ウィンドウを閉じないようにする方法を説明できる人はいますか?

答えて

0

できません。もしできれば、それは虐待を受けるでしょう。そうすることはできません。 オプションはonbeforeunloadハンドラです(現代のブラウザでは)デフォルトのメッセージ(カスタムメッセージは表示されません)が表示されます。それでおしまい。

var showMessage = false; // set it to true when you want the message shown on exit 
window.onbeforeunload = function(e) { 
    if (showMessage) { 
     var event = e || window.event; 
     var msg = "You have unsaved changes."; // Most modern browsers will no 
               // longer actually show this 
               // message, just their own. 
               // But to trigger it, you have to 
               // return one, so may as well make 
               // it useful. 
     if (event) { 
      event.returnValue = msg; // IE 
     } 
     return msg;     // Everyone else 
    } 
}; 
+0

私はそれができないと思っていましたが、あまりにも簡単にあきらめたくありませんでした。 –

関連する問題