jQuery « Как отловить момент начала скачивания файла?
Есть сайт - pdfmyurl.com, если ему скормить ссылку на какую-либо страницу, он вернет pdf этой страницы. Пытаюсь внедрить генерацию pdf к себе на сайт. Есть иконка, по щелчку на которую должен скачиваться pdf страницы.
Если бы файл генерировался быстро, то проблем бы не было - поставил прямую ссылку и все. Но проблема в том, что преобразование некоторых страниц может занимать вплоть до минуты. Если оставить как есть, то не каждый посетитель поймет, что запрос отправлен и нужно просто подождать.
Поэтому я сделал скрытый div, который появляется при щелчке по иконке и который сообщает что идет преобразование страницы в pdf. И этот же div содержит iframe, в котором идет запрос на pdfmyurl.com и который возвращает сгенерированный pdf.
Собственно вопрос: как поймать момент когда скрывать div? Проблема в том, что если прятать его по событию onLoad, то div прячется примерно через 2-3 секунды, а скачивание файла начинается только секунд через 5-10 в лучшем случае.
Доп. вопрос №1: подозреваю что все можно сделать без фремов - через ajax. Если да, то поделитесь ссылками на обучающие статьи и/или примеры, пожалуйста.
Доп. вопрос №2: почему не стоит использовать фрэймы? Гуглил, ответа так и не нашел.
Если бы файл генерировался быстро, то проблем бы не было - поставил прямую ссылку и все. Но проблема в том, что преобразование некоторых страниц может занимать вплоть до минуты. Если оставить как есть, то не каждый посетитель поймет, что запрос отправлен и нужно просто подождать.
Поэтому я сделал скрытый div, который появляется при щелчке по иконке и который сообщает что идет преобразование страницы в pdf. И этот же div содержит iframe, в котором идет запрос на pdfmyurl.com и который возвращает сгенерированный pdf.
Собственно вопрос: как поймать момент когда скрывать div? Проблема в том, что если прятать его по событию onLoad, то div прячется примерно через 2-3 секунды, а скачивание файла начинается только секунд через 5-10 в лучшем случае.
Доп. вопрос №1: подозреваю что все можно сделать без фремов - через ajax. Если да, то поделитесь ссылками на обучающие статьи и/или примеры, пожалуйста.
Доп. вопрос №2: почему не стоит использовать фрэймы? Гуглил, ответа так и не нашел.
1 ответов
Может стоит сделать в 2 запроса?
первый на генерацию файла. При его старте отображаете див, в котором показываете, что идет генерация.
второй запускаете после ответа первого, и уже этим запросом отдаете файл пользователю и скрываете див генерации.
А вот по поводу сделать без фреймов - было бы и самому интересно узнать, как такое реализуется. Еще не приходилось сталкиваться.