Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Как во время обработки результата на странице запретить пользователю ее покидать? (https://javascript.ru/forum/css-html/75588-kak-vo-vremya-obrabotki-rezultata-na-stranice-zapretit-polzovatelyu-ee-pokidat.html)

giwuf 22.10.2018 16:30

Как во время обработки результата на странице запретить пользователю ее покидать?
 
Есть некоторый блок, в котором происходит формирования результата в результате рендеринга. На это уходит определенное время, от 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>

Dilettante_Pro 22.10.2018 16:55

Зачем кнопки?
onbeforeunload

giwuf 22.10.2018 17:33

Цитата:

Сообщение от Dilettante_Pro
Зачем кнопки?
onbeforeunload

Dilettante_Pro,
видимо потому что не рабоатет.. прописывал тот же скрипт в чистом body и запросто закрываю вкладку на крестик без возмущений onbeforeunload


Часовой пояс GMT +3, время: 11:03.