Показать сообщение отдельно
  #1 (permalink)  
Старый 22.10.2018, 16:30
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Как во время обработки результата на странице запретить пользователю ее покидать?
Есть некоторый блок, в котором происходит формирования результата в результате рендеринга. На это уходит определенное время, от 3 сек и выше. Как сделать так, чтобы на это время, если пользователь хочет покинуть страницу - ему выскакивало предупреждающее окно вида
alert("Подождите, ваш результат еще обрабатывается") ?
Я пробую это сделать с помощью onbeforeunload, но оно отрабатывает только, если нажать на кнопку, иначе можно закрыть окно без последствий. Пробовал сделать через иммитацию клика, но как полноценный клик оно не отрабатывает и результат тот же..

<button id="button" onclick="javascript:showModal()">Нажми на меня</button>


<script>
var chk = 1;
window.onbeforeunload = function(e) {
  if(chk) return e;
  else return false;
};

function showModal() {
}

$(document).ready(function() {
     $('#button').trigger('click');
});
</script>
Ответить с цитированием