Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2011, 20:45
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

Предотвращение ухода со страницы
Добрый вечер, есть скрипт который отправляет данные на сервер через ajax, перед отправкой out=1; и если во время отправки человек уходит то ему выдается confirm и если он ==1 то человек уходит если нет то остается на странице и ждет пока скрипт не отправит все данные на сервер.

Делаю через jquery

$(window).unload(function(e){
 if(out && !confirm('Хотите уйти со страницы?')) e.preventDefault();
});


но preventDefault не работает.

Как быть? как по другому предотвратить уход?

ПС. не предлагать перехват клика по ссылкам.

Заранее спасибо!

Последний раз редактировалось ntro123, 12.03.2011 в 20:47.
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2011, 20:53
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ntro123,
ну и зачем пользователю навязывать остаться? показать что уходить не стоит-достаточно добавить элемент показывающий что идёт обработка-захочет дождаться-дождётся-а не хочет-зачем пытаться удержать?-после этого второй раз он не зайдёт-бесит это однако
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2011, 20:54
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

Лол. А не хотите способ заставить человека перевести все деньги на вашь счёт, отформатировать диск С: и застрелиться?
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2011, 21:17
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

Там работаю серьёзные скрипты и могут работать очень долго и скажем спустя часа, после работы, пользователь может уже и немного подзабыть и нажать ctrl + TAB и потом ctr + W и сбросится скрипт, т.е. случайных сценариев сброса может быть очень много и я думаю что лучше чтобы меня тролили те люди которые ненавидят такие ф-ции, чем те люди которые буду пользоваться программой случайно сбросят и потом им надо будет начинать все с начала... это не есть навязывание остаться это предупреждение что мол данные не буду сохранены и стоит ли при таком развитии сценария юзеру покидать страницу.

Есть ajax gif <-- но это может не спасти см. выше.

Aetae, а не хотите постить по теме, а не тролить?
Ответить с цитированием
  #5 (permalink)  
Старый 12.03.2011, 21:37
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от ntro123
Там работаю серьёзные скрипты и могут работать очень долго и скажем спустя часа, после работы, пользователь может уже и немного подзабыть и нажать ctrl + TAB и потом ctr + W и сбросится скрипт, т.е. случайных сценариев сброса может быть очень много и я думаю что лучше чтобы меня тролили те люди которые ненавидят такие ф-ции, чем те люди которые буду пользоваться программой случайно сбросят и потом им надо будет начинать все с начала... это не есть навязывание остаться это предупреждение что мол данные не буду сохранены и стоит ли при таком развитии сценария юзеру покидать страницу.
ну я думаю что вам всерьёз нужно задуматься об архитектуре вашего сайта-чтобы человек мог выйти и потом при заходе получить эти данные. да и об использовании комет стоит задуматься-чтоб человек видел в какой стадии сейчас находится задача-чтобы не подумал что зависло.
Ответить с цитированием
  #6 (permalink)  
Старый 12.03.2011, 21:43
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

0_о? Делать клиенте часовые операции - это маразм. А если они на стороне сервера - нормальные люди это решают сессиями.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 12.03.2011, 21:59
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

Приведу пример:
Инструмент добавлении сайтов в аддурл яндекса.
Там даётся скрипту список урлов, он их добавляет. Пользователь может случайно уйти со странице, вот чтобы не было случайностей хотелось бы добавить такую возможность как написано выше.


так что
Цитата:
ну я думаю что вам всерьёз нужно задуматься об архитектуре вашего сайта-чтобы человек мог выйти и потом при заходе получить эти данные.
не в тему.

Причем здесь это
Цитата:
да и об использовании комет стоит задуматься-чтоб человек видел в какой стадии сейчас находится задача-чтобы не подумал что зависло.
они есть, и в процентах и сколько готово из сколько, и даже проверка счета каждые 30 сек на антигейте.

Даже предположим если в топике я бы написал
Цитата:
Добрый день.
$(window).unload(function(e){ 
 if(out && !confirm('Хотите уйти со страницы?')) e.preventDefault(); 
});


Не работает код, как быть?

Заранее спасибо.
Вы бы все равно кроме тролинга ничего бы полезного не написали?
Ответить с цитированием
  #8 (permalink)  
Старый 12.03.2011, 22:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

beforeunload, как минимум.
Ответить с цитированием
  #9 (permalink)  
Старый 12.03.2011, 22:20
Аспирант
Отправить личное сообщение для ntro123 Посмотреть профиль Найти все сообщения от ntro123
 
Регистрация: 18.10.2009
Сообщений: 57

$(window).beforeunload(function(){
		alert("Bye now!"); 
		});


Не работает, что делать?
Ответить с цитированием
  #10 (permalink)  
Старый 12.03.2011, 22:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Выкинуть jQuery.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выводить часть элементов страницы через javascript Victim Events/DOM/Window 9 28.12.2011 22:51
Загрузить элементы документа с другой страницы alexrussia Events/DOM/Window 10 25.03.2011 10:17
Высота страницы (не окна). ostwest Events/DOM/Window 7 07.01.2011 21:34
Вычисление высоты страницы. keysi_ Events/DOM/Window 2 03.08.2010 18:03
Передача значений из iframe в тело страницы z00m Общие вопросы Javascript 7 01.05.2009 17:20