jQuery « Как отловить момент начала скачивания файла?

Есть сайт - pdfmyurl.com, если ему скормить ссылку на какую-либо страницу, он вернет pdf этой страницы. Пытаюсь внедрить генерацию pdf к себе на сайт. Есть иконка, по щелчку на которую должен скачиваться pdf страницы.

Если бы файл генерировался быстро, то проблем бы не было - поставил прямую ссылку и все. Но проблема в том, что преобразование некоторых страниц может занимать вплоть до минуты. Если оставить как есть, то не каждый посетитель поймет, что запрос отправлен и нужно просто подождать.

Поэтому я сделал скрытый div, который появляется при щелчке по иконке и который сообщает что идет преобразование страницы в pdf. И этот же div содержит iframe, в котором идет запрос на pdfmyurl.com и который возвращает сгенерированный pdf.

Собственно вопрос: как поймать момент когда скрывать div? Проблема в том, что если прятать его по событию onLoad, то div прячется примерно через 2-3 секунды, а скачивание файла начинается только секунд через 5-10 в лучшем случае.


Доп. вопрос №1: подозреваю что все можно сделать без фремов - через ajax. Если да, то поделитесь ссылками на обучающие статьи и/или примеры, пожалуйста.

Доп. вопрос №2: почему не стоит использовать фрэймы? Гуглил, ответа так и не нашел.

1 ответов


Может стоит сделать в 2 запроса?

первый на генерацию файла. При его старте отображаете див, в котором показываете, что идет генерация.
второй запускаете после ответа первого, и уже этим запросом отдаете файл пользователю и скрываете див генерации.


А вот по поводу сделать без фреймов - было бы и самому интересно узнать, как такое реализуется. Еще не приходилось сталкиваться.