У меня есть веб-форма, которую пользователи заполняют онлайн. Когда они нажимают кнопку «Отправить», начинается загрузка файла для них.
В данный момент я обрабатываю отправку формы, генерирую подходящий файл для пользователя и запускаю его с помощью подходящих заголовков. например ...
header('Content-type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="yourfile.txt"');
header("Content-Transfer-Encoding: binary");
Однако, так как это сразу же начинает загрузку, исходная форма остается на экране браузером.
Мне бы очень хотелось перейти к экрану с благодарностью после завершения загрузки (или до начала загрузки). Я знаю, что это возможно, потому что почти каждый сайт загрузки, который вы посещаете, делает это (обычно для того, чтобы загрузить всю рекламу до начала загрузки).
Итак, как мне показать экран «Спасибо», который начинает загрузку через секунду?
Какое решение может повлиять на поведение кнопки "Назад", поскольку я не хочу, чтобы файл снова загружался без заполнения формы?
Я использую PHP на сервере и могу положиться на Javascript (и jQuery), которые доступны на клиенте.
Спасибо.