2010-06-01 6 views
2

J'ai une servlet appelée via jquery ajax. Le XML résultant est ensuite transformé en utilisant XSL et affiché à l'écran. Maintenant, l'exigence est d'imprimer ou d'enregistrer ce contenu sur la machine locale. La partie impression fonctionne bien, mais je suis coincé à la partie Enregistrer sous. Comment est-ce que je fais cela en utilisant jquery/javascript? J'utilise IE8/XP.Boîte de dialogue jQuery File Save As pour le contenu dynamique

J'ai essayé

document.execCommand('SaveAs'); 

sur le bouton clic, mais il ne semble pas travailler dans IE8. Il montre les alertes que j'ai mis en place jusqu'à ce moment-là, mais ne fait pas apparaître la boîte de dialogue. Qu'est-ce qui ne va pas ici?

+0

Quelle est exactement ce que vous voulez avoir sauvé? Le HTML lui-même, le contenu en XML ou peut-être même une traduction en PDF? – Marc

+0

Eh bien, le XML transformé s'affiche à l'écran. Maintenant, l'utilisateur devrait avoir une option pour enregistrer la page html actuelle sur le système local. Le menu Fichier> Enregistrer sous du navigateur n'est pas suffisant. Il doit y avoir un bouton sur la page elle-même avec une icône appropriée, qui une fois cliqué, fera apparaître la boîte de dialogue Enregistrer sous de Windows. Juste pour ajouter ... il n'y a pas de conversion PDF en cause, bien que cela puisse arriver plus tard. –

Répondre

1

Si vous pouvez le faire en utilisant le code côté serveur au lieu de javascript puis définissez l'en-tête content-disposition:

Content-Disposition: attachment 
+0

Oui, mais cela ne ferait-il pas apparaître la boîte de dialogue Enregistrer sous dès que le servlet est appelé? Je pensais que ce serait, n'a pas essayé cependant. Dans mon cas, le contenu doit d'abord se transformer et afficher sur l'écran en HTML puis sur un clic de bouton, devrait faire apparaître la boîte de dialogue Enregistrer sous. S'il vous plaît voir mon commentaire ci-dessus en réponse à la question de Marc. –

Questions connexes