2017-01-10 14 views
1

編集ページから離れる前に、保存していない変更を失わないようにユーザーに確認する必要があります。私は次のコードを書いたが、バグだ。ユーザーが編集ページに入っていて、F5キーを押した後にリフレッシュ操作を拒否すると、通常のリフレッシュは実行されません。Javascript角度条件付きページリフレッシュ

$(document.body).on("keydown", this, function (event) { 
    if (event.keyCode == 116 && isEditPage()) { 
    if (!confirm('you will lose all the pending changes. are you sure you want to leave this page?')) { 
     return false; 
    } 
    } 
    return true; 
}); 
+0

プランナーを作ってください。 –

+0

こちらをチェックしてください。http://stackoverflow.com/questions/2482059/disable-f5-and-browser-refresh-using-javascript – Strikers

答えて

0

保存されていない変更があるページからユーザーが離れるときにトリガーされるイベントリスナーを登録できます。ページのリフレッシュは、f5キーを押すことなく(ブラウザのナビゲーションボタン、アイコンのリロードなどを使用して)開始することができます。

window.onbeforeunload = function (e) { 
    var message = "Your confirmation message goes here.", 
    e = e || window.event; 
    // For IE and Firefox 
    if (e) { 
    e.returnValue = message; 
    } 

    // For Safari 
    return message; 
}; 
0

このチェックはdiscussionにしてください。

$scope.$on('$routeChangeStart', function(next, current) { 
     return 'are you sure you want to leave?'; 
    }); 

次の現在のパラメータで次と現在のルートを取得できます。

+1

@CollinD oops!私は答えを更新しました –

関連する問題