2009-11-09 2 views
3

Моя корзина показывает (1) анимацию для «Обработка заказа ...» после отправки (2) и карты обрабатывается в скрипте php , Однако есть ошибка, вызванная тем, что пользователь достиг страницы «принятый заказ» и нажал кнопку «Назад». Анимация «Обработка заказа ...» все еще отображается.Нажатие кнопки «Назад» не запускается <body>'s OnLoad

(1) На дисплее обработки показано, как:

<div style="position:absolute;display:none;" id="animation"> 
    <img src="animation.gif"/> 
</div> 

(2) Когда кнопка отправлена, Javascript используется:

onClick="document.getElementById('animation').style.display='block'; 
     document.the_form.submit();" 

Таким образом, кнопка нажата, анимации отображается, представленная форма и карта обрабатывается, а пользователь находится на новой странице.

Когда пользователь щелкает назад, мы должны ожидать страницу без анимации. Но onLoad не запускается, и сохраняется последнее состояние анимации (отображается).

Любая идея, как удалить анимацию, когда пользователь вернется на страницу?

+0

У меня такая же проблема, вы разработали решение? Я не хочу использовать 'onunload', как это предложено в ответах, поскольку это создает путаницу для пользователя, потому что это будет работать следующим образом:« Порядок обработки »отображается, он скрыт (« ononload ») _page_ _is_ _visible_ _for_ _a_ _while_, перезагрузка страницы. – Patrick

ответ

3

Вдохновленный комментарием Адама А, вы можете скрыть анимацию, когда пользователь покидает страницу (через форму submit - обычный маршрут, я бы подозревал), поэтому, если/при возвращении на страницу, анимация не показано на рисунке.

Одним из способов достижения этого является добавление скрытого кода в тело HTML onunload.

<body onunload="document.getElementById('animation').style.display='none';"> 
1

В большинстве современных браузеров щелчок назад не перезагружает страницу, он просто отображает ее из памяти, поскольку она в последний раз ее запоминала (поскольку это, вероятно, будет желательным поведением).

В моем ограниченном опыте дизайна пользовательского интерфейса я не уверен, почему вы хотите, чтобы пользователи нажимали кнопку «назад» после отправки заказа, вместо этого вы должны предоставить ссылку, которая переводит их на следующую задачу, которую они могут хотите заполнить или переслать их на новую страницу с полезными задачами и просто отобразить сообщение где-нибудь, в котором говорится: «Спасибо, ваш заказ принят».

+0

AKA убьет сообщение «Обработка заказа» перед отправкой на новую страницу. Тогда их не будет, если они решат вернуться. –

Смежные вопросы