Comment contourner les fichiers temp avec JavaScript ?

Comment contourner les fichiers temp avec JavaScript ? - Divers - Programmation

Marsh Posté le 26-04-2006 à 23:12:12    

Bonjour à tous amis progammeurs.
je suis en stage, et je coince sur un point assez chaud...
Voila. Je travaille sur un programme qui interagi avec une servlet. L'interface est constituée de page HTML classiques, et la servlet elle interagi avec d'autre pages HTML, contenant du JSP pour effectuer des appels de fonctions... voila pour faire court...
Mon probleme est le suivant. J'affiche dans une page HTML un fichier PDF (style comme quand on telecharge la plaquette d'une manifestation). Je l'appelle avec un window.open(urldupdf,blabla,blabla);. Jusqu'ici pas de probleme, le fichier s'ouvre. Mais le probleme, c'est que le fichier PDF s'ouvre alors que je l'ai supprimer de l'endroit decrit par l'url (si l'url pointe vers http://ouf.coucou.pdf, si le fichier y est, il apparait. en supprimant coucou.pdf, on ne devré plus avoir à l'ecran de pdf... normal, on ne peut pas afficher un fichier qui n'existe plus !). Mais c'est là ou l'informatique, c'est fort quand meme ! Il me l'affiche ! J'ai bien mis 30 minutes avant de me rendre compte qu'en fait, au lieu d'allé chercher à l'url indiqué, il cherchait dans ces fichiers temp (ralalala..ie quand meme, c'est beau...). Hors, il est indispensable pour moi qu'il regarde à l'adresse de l'URL. Je remercie ceux qui pense deja repondre "BA, tu desactives la recupération des fichiers temp de ton exploreur, ou t'effaces les fichiers (propriété / supprimer fichiers temporaires).
Moi je veux bien ;)
Mais il est pas pour moi ce programme... je vois mal dire au gens qui vont l'utiliser de le faire manuellement. Donc voici la solution que je pense etre la meilleure : OBLIGER window.open d'ouvrir le .pdf dans l'url en parametre, et pas laisser l'exploreur charger son fichier temp.
Le probleme, c'est que j'ai beau regarder les options (statue=no etc...) il n'y à rien pour "forcer" la lecture de l'url...
Bref si quelqu'un s'y connait en Java Script, HTML ... n'hesitez pas ! :)
D'avance merci !!
Flavio_dev

Reply

Marsh Posté le 26-04-2006 à 23:12:12   

Reply

Marsh Posté le 27-04-2006 à 00:57:09    

Regarde du coté des headers ;) (indice: nocache)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 27-04-2006 à 19:04:30    

ba je vais me renseigner...

Reply

Marsh Posté le 04-05-2006 à 13:56:39    

Je me suis renseigné, et malheureusement, ca n'a pas fonctonné. Voici u nbout de mon code :
<.......
<head>
<meta CONTENt = "Text/html"...>
<script...>
function....{
window.open ("http://85.89.151.118..../PDF/nompdf.pdf" );
...
}
J'ai essayé de remplacer "text/Html" par no-cache, par nocache, par noindex, et rien à faire, ca va chercher sur IE nompdf.pdf, lorsqu'il y est (donc à partir de la deuxieme requete... :) ).
Merci de votre aide !
^^
Flavio

Reply

Marsh Posté le 04-05-2006 à 14:02:22    

tu ne peux pas faire ça, il faudrait que les headers soient "envoyés" par ton pdf, car dans ton cas précis tu l'ouvres directement.
 
Essaye de "tricher" sur ton lien:

Code :
  1. function....{
  2. //tu definis une var pouet = un nombre au pif ou la date du jour avec les secondes
  3. window.open ("http://85.89.151.118..../PDF/nompdf.pdf?pouet="+pouet );
  4. ...
  5. }


 
edit:Sinon tu ne mets pas directement le lien sur le pdf, mais sur un script coté serveur qui lit le fichier et renvoie le flux au navigateur, cette fois avec les headers dont te parlais 0x90


Message édité par anapajari le 04-05-2006 à 14:02:55
Reply

Marsh Posté le 04-05-2006 à 14:16:20    


"tu ne peux pas faire ça, il faudrait que les headers soient "envoyés" par ton pdf, car dans ton cas précis tu l'ouvres directement. "
 
C'est ce qu'on m'a dit...mais à quoi te sers la var pouet ? Je vois pas comment tu t'en sers...
Je vais reessayer... Merci ;)

Reply

Marsh Posté le 04-05-2006 à 14:21:53    

flavio_dev a écrit :

mais à quoi te sers la var pouet ? Je vois pas comment tu t'en sers...
Je vais reessayer... Merci ;)


A rien [:spamafote]
C'est juste que l'url de la page appelée n'étant jamais la même ( tu changes pouet a chaque demande), IE ne trouvera pas de cache correspondant!

Reply

Marsh Posté le 04-05-2006 à 18:35:22    

MERCI beaucoup... Ca marche. L'url demandé et enregistré n'est jamais la même (pouet = getTime()). Le temps qui s'est écoulé depuis le 1er Janvier 1970 en milisecondes est une variable qui change constament :)
Plus de probleme :)
Merci à vous deux (et surtout a anapajari pour l'astuce)
^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed