Отображение сообщения о загрузке в форме отправки - беда кнопки назад - PullRequest
2 голосов
/ 13 декабря 2010

Я показываю div с загрузочным сообщением и изображением при отправке формы:

$("#some_form").submit(function(){
  $("#some_form #loading").show();
});

Это работает, как я и ожидал.Но, если вы используете кнопку «Назад» для возврата, раздел загрузки все еще виден, потому что браузер не перезагрузил страницу.

Есть ли событие браузера, которое я мог бы использовать, чтобы скрыть загрузочный блок, когда кнопка возвратаиспользуется?Или, может быть, я все делаю неправильно?

Спасибо за любую помощь!

Ответы [ 3 ]

2 голосов
/ 13 декабря 2010

Поскольку вы показываете изображение загрузки, вы, вероятно, работаете с AJAX.Правильно?Вы должны использовать события ajax-start и ajax-complete =)

EDIT: вы можете попробовать:

 window.onbeforeunload = function() {

     $("#some_form #loading").hide();

 }

Или это:

http://www.bajb.net/2010/02/browser-back-button-detection/

1 голос
/ 13 декабря 2010

Как насчет использования заголовка Cache-Control: no-cache, указывающего браузеру не кэшировать исходную страницу? При переходе назад в историю следует принудительно перезагрузить страницу.

Как насчет window.onunload?

0 голосов
/ 13 декабря 2010

Вы можете добавить

<script>
$(function() { 
    $("#some_form #loading").hide(); 
});
</script>

в твоей голове. Таким образом, он скрывает div, когда страница полностью загружена. Это также должно работать при нажатии кнопки "назад", насколько мне известно.

...