Forcer le navigateur à ne pas lire le cache

Forcer le navigateur à ne pas lire le cache - HTML/CSS - Programmation

Marsh Posté le 24-09-2002 à 11:25:30    

Bonjour,
j'ai fait des camemberts avec JPGraph (librairie PHP), mais je suis face à un petit problème : lorsque j'envoie mes paramètres pour créer le camembert via un formulaire (pour dire par exemple : les stats pour la semaine, le mois ou l'année dernière)
le camembert s'affiche mais il est nécessaire de reloader la page, car explorer lit le cache et les données du camembert ne sont pas mises à jour...
 
j'ai trouvé des balises html pour faire ce que je désire, mais elle ne marchent que sous netscape :
 
  <META HTTP-EQUIV="expires" CONTENT="Wed, 23 Feb 1999 10:49:02 GMT">
  <META HTTP-EQUIV="expires" CONTENT="0">
  <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
 
Donc existe-t-il un moyen compatible entre NS et IE pour ne pas prendre en compte le cache?

Reply

Marsh Posté le 24-09-2002 à 11:25:30   

Reply

Marsh Posté le 24-09-2002 à 11:29:30    

<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
 
cf la source de ce forum
 
par contre je vois pas trop pq tu mets deux lignes "expires"
la 1e est pas utile


Message édité par antp le 24-09-2002 à 11:29:55
Reply

Marsh Posté le 24-09-2002 à 11:32:52    

déja il me semble que ta 2è ligne annule la 1ère
 
ensuite tu peux essayer ça en + :
<META HTTP-EQUIV="Last Modified" CONTENT="avec la date/heure actuelle">  
 
et aussi  
<META HTTP-EQUIV="Cache-control" CONTENT="no-cache">  
 
 
tes 2 navigateurs se comportent différement car 1 doit faire du HTTP 1.0 et l'autre du 1.1
 
 
edit: grilled +


Message édité par bobdupont le 24-09-2002 à 11:33:24
Reply

Marsh Posté le 24-09-2002 à 12:42:40    

Merci pour vos réponses mais cela ne fonctionne pas...
 
Je pense savoir d'ou viens le problème, masi je ne sais comment le résoudre. En fait, dans la page qui permet de visualiser le graphique (afficheStat.php), je fais appel à l'image du camembert ainsi (en gros) :
 
print "<img src=\"../stat/graphMont.php"\" />";
 
Ce n'est pas une image classique, puisque cela appelle un fichier php, qui créé l'image via la librairie JPGraph. Je pense donc que c'est au fichier graphMont.php qu'il faudrait interdire l'accès au cache. Mettre des balises meta n'est donc pas possible, car ce sont justes des scripts php... Donc je ne sais que faire...
 
J'aurai pensé qu'en interdisant l'accès au cache à la page d'affichage (afficheStat.php), celle qui apelle le fichier graphMont.php, cela aurai marché..mais non...
 
Quelqu'un saurait-il donc comment on peut interdir à un fichier de se mettre dans le cache (pour graphMont.php)?

Reply

Marsh Posté le 24-09-2002 à 14:19:49    

ben c pareil, dans graphMont.php, tu mets au début :
 

Code :
  1. header("Cache-control: no-cache" );
  2. header("pragma: no-cache" );
  3. etc

 
 
ya 1 autre solution (un peu crade) qui est souvent utilisée pour les publicité, c'est d'ajouter 1 nbre aléatoire à l'url de ton fichier comme ça tu est sur que le navigateur la redownloade à chaque fois :
print "<img src=\"../stat/graphMont.php?r=".rand()."\" />";  

Reply

Marsh Posté le 24-09-2002 à 14:59:34    

merci,  
pour les headers ça fonctionne (je croyai avoir testé ce matin déjà, mais apparement j'ai du déconner qq part)
 
pour l'autre solution, c'est vrai que j'ai pas essayé car je n'aime pas les trucs crades ;)  
 
a+

Reply

Marsh Posté le 24-09-2002 à 17:11:44    

jpcache est une librairie free qui fait ce job.
Tu définis le temps que tu veux g

Reply

Sujets relatifs:

Leave a Replay

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