У меня общая проблема с реализацией страницы «Пожалуйста, подождите, обработка вашего запроса» в HTML, чтобы показать ее пользователю во время обработки долго выполняющейся задачи. В частности, я создаю заказ и выставляю счет кредитной картой.
В настоящее время я сначала загружаю PleaseWait.html, показывающий сообщение и спиннер, который сразу же перенаправляет в Process.html, который выполняет обработку. После завершения Process.html он перенаправляется в Complete.html.
Я пытаюсь сделать это полностью через браузер и следую всем рекомендациям. Это означает, что следует избегать следующих методов:
- Перенаправление Javascript, так как пользователь мог отключить сценарии
- META Refresh, так как это не рекомендуется / не рекомендуется, и я думаю, что некоторые браузеры также позволяют пользователю отключить его
- Отправка ответа HTTP 301, так как это приводит к тому, что браузер (по крайней мере, IE) вообще не отображает страницу «Пожалуйста, подождите»
- использование скрытого iframe для хранения Process.html, так как я снова считаю, что для этого потребуется JavaScript, чтобы определить, когда обработка завершена
Итак, мой вопрос ... как, черт возьми, мне это сделать?
Бонусные баллы (ну, по крайней мере, слава), если решение позволяет моему анимированному GIF-файлу продолжать анимацию на протяжении всей стадии обработки. Я упоминаю об этом, потому что кажется, что в IE, когда PleaseWait.html перенаправляет Process.html, все анимации останавливаются, что означает, что мой спиннер в данный момент вращается только около полсекунды или около того, а затем останавливается, пока загружается страница Process.html. его вещь.