У меня есть редактор в JavaScript на моей веб-странице, и я хотел бы спросить пользователя, если он хочет оставить страницу, даже если там не сохраняются изменения.
Я знаю, что могу добавить пользовательское сообщение к "onbeforeunload диалоговое окно" этот путь:
window.onbeforeunload = function() {
return 'You have unsaved changes!';
}
(Источник), но я хочу отобразить диалоговое окно только там, где действительно существуют некоторые несохраненные изменения. Как сделать это?
Спасибо!
Вы можете сделать что-то вроде этого:
var unsavedChanges = false;
window.onbeforeunload = function() {
if (unsavedChanges) return 'You have unsaved changes!';
}
function makeSomeChange() {
// do some changes....
unsavedChanges = true;
}
Убедитесь, что вы изменили unsavedChanges
в обработчиках событий 'change'.