Как мне справиться с AJAX и закрытием страниц - PullRequest
4 голосов
/ 12 февраля 2010

Если у пользователя задержка подключения к моему сайту, время ajax не истекло, и пользователь решает закрыть окно. Ajax-запрос будет прекращен? Могу ли я сказать, что вы все еще обрабатываете? Вы близки, хотите покинуть эту страницу? (Бонус, если он закроется, когда Ajax был успешным). Как мне это сделать?

Я не уверен, что это то же самое (может быть, оно встроено в Firefox?), Но когда я закрыл эту страницу, он сказал

Вы уверены, что хотите уйти с этой страницы?

Вы начали писать или редактировать сообщение.

Нажмите OK, чтобы продолжить, или Отмена, чтобы остаться на текущей странице.

Я уверен, что видел это в других местах. Как сделать так, чтобы пользователь не отправлял ajax и находился в середине сообщения?

Ответы [ 2 ]

4 голосов
/ 12 февраля 2010

Вы можете использовать событие window.onbeforeunload , чтобы обработать это. Задайте для переменной значение false в начале запроса ajax. И в функции обратного вызова установите ее значение в true, а в событии window.onbeforeunload проверьте эту переменную и отобразите подходящее сообщение.

Примечание

Это сработает, когда вы обновите страницу также.

1 голос
/ 12 февраля 2010

Вы можете реализовать обработчик onbeforeunload в js:

window.onbeforeunload = function() 
{
   if (showMessage)
   {
      return trye
   }
   else
   {
      return;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...