2009-12-11 4 views
0

У нас есть всплывающее окно, в котором пользователь делает некоторые выборы и нажимает кнопку для создания файла PDF. Мы показываем отображение прогресса (анимированный gif), а затем в конечном итоге отправляем содержимое PDF пользователю с содержимым: inline. Затем пользователь обычно печатает файл PDF.Закройте всплывающее окно браузера только в том случае, если пользователь сохранил загруженный файл.

Для некоторых пользователей нет встроенного браузера для файлов PDF, и пользователю предлагается сохранить файл в формате pdf. В этих случаях индикатор прогресса остается открытым даже после того, как файл был доставлен. Каков хороший способ обнаружить, что пользователь решил сохранить файл, а не отображать его?

Единственная идея, с которой я столкнулся, заключается в том, чтобы установить таймер во всплывающем окне, чтобы закрыть окно, если его содержимое все еще находится вокруг. Теоретически таймер будет очищен, если содержимое окна будет заменено программой просмотра PDF. Есть ли другие варианты? Как узнать, как долго установить таймер, если генерация PDF может занять много времени? Могу ли я сначала отправить заголовки http, а затем в pdf-файл, чтобы быстро запустить программу просмотра pdf?

ответ

0

Мы решили это, установив таймер непосредственно перед тем, как мы попросим сервер начать генерировать PDF-файл. Если PDF открывается в окне браузера, таймер отменяется. Если таймер не отменен, он закрывает окно. Мы выбрали долгое время для таймера.