Предотвращение ухода со страницы
Добрый вечер, есть скрипт который отправляет данные на сервер через ajax, перед отправкой out=1; и если во время отправки человек уходит то ему выдается confirm и если он ==1 то человек уходит если нет то остается на странице и ждет пока скрипт не отправит все данные на сервер.
Делаю через jquery $(window).unload(function(e){ if(out && !confirm('Хотите уйти со страницы?')) e.preventDefault(); }); но preventDefault не работает. Как быть? как по другому предотвратить уход? ПС. не предлагать перехват клика по ссылкам. Заранее спасибо! |
ntro123,
ну и зачем пользователю навязывать остаться? показать что уходить не стоит-достаточно добавить элемент показывающий что идёт обработка-захочет дождаться-дождётся-а не хочет-зачем пытаться удержать?-после этого второй раз он не зайдёт-бесит это однако |
Лол. А не хотите способ заставить человека перевести все деньги на вашь счёт, отформатировать диск С: и застрелиться?
|
Там работаю серьёзные скрипты и могут работать очень долго и скажем спустя часа, после работы, пользователь может уже и немного подзабыть и нажать ctrl + TAB и потом ctr + W и сбросится скрипт, т.е. случайных сценариев сброса может быть очень много и я думаю что лучше чтобы меня тролили те люди которые ненавидят такие ф-ции, чем те люди которые буду пользоваться программой случайно сбросят и потом им надо будет начинать все с начала... это не есть навязывание остаться это предупреждение что мол данные не буду сохранены и стоит ли при таком развитии сценария юзеру покидать страницу.
Есть ajax gif <-- но это может не спасти см. выше. Aetae, а не хотите постить по теме, а не тролить? |
Цитата:
|
0_о? Делать клиенте часовые операции - это маразм. А если они на стороне сервера - нормальные люди это решают сессиями.
|
Приведу пример:
Инструмент добавлении сайтов в аддурл яндекса. Там даётся скрипту список урлов, он их добавляет. Пользователь может случайно уйти со странице, вот чтобы не было случайностей хотелось бы добавить такую возможность как написано выше. так что Цитата:
Причем здесь это Цитата:
Даже предположим если в топике я бы написал Цитата:
|
beforeunload, как минимум.
|
$(window).beforeunload(function(){ alert("Bye now!"); }); Не работает, что делать? |
Выкинуть jQuery.
|
Часовой пояс GMT +3, время: 04:57. |