Nous avons une fenêtre popup où l'utilisateur fait quelques sélections et clique sur un bouton pour générer un fichier pdf. Nous montrons un affichage de la progression (gif animé), puis nous envoyons finalement le contenu du pdf à l'utilisateur avec content-disposition : inline. L'utilisateur imprime alors généralement le fichier pdf.
Pour certains utilisateurs, il n'existe pas de visionneuse en ligne pour les fichiers pdf, et l'utilisateur est invité à enregistrer le fichier pdf. Dans ces cas, l'affichage de la progression reste ouvert, même après la livraison du fichier. Quel est le meilleur moyen de détecter que l'utilisateur a choisi d'enregistrer le fichier, plutôt que de l'afficher en ligne ?
La seule idée que j'ai eue jusqu'à présent est de programmer une minuterie dans la fenêtre popup pour qu'elle se ferme si son contenu est toujours présent. En théorie, le minuteur serait effacé si le contenu de la fenêtre était remplacé par le visualisateur de pdf. Existe-t-il d'autres options ? Comment puis-je savoir combien de temps il faut régler la minuterie, si la génération du pdf peut prendre beaucoup de temps ? Puis-je envoyer d'abord les en-têtes http et ensuite le contenu du pdf pour déclencher rapidement le visualisateur de pdf ?