[FLASH] XML & Actualisation (problème de cache)

XML & Actualisation (problème de cache) [FLASH] - Web design - Graphisme

Marsh Posté le 30-11-2003 à 15:31:27    

Voici mon probleme,
 
je récupére et traite des informations en provenance de la page :
www.site.com/xml_message.php
 
Tout se passe trés bien, les informations sont correctement traités.
 
En bas de mon animation, j'ai mis un bouton rafraichir, qui va de nouveau puiser dans le fichier xml pour récuperer des informations (pour actualiser en fait).
 
Seulement, il y a un probleme... (et oui)...
quand je fais :
 
monXML.load("www.site.com/xml_message.php" );
 
il ne recharge pas les informations, en fait il récupére la page qu'il a déja chargé et qu'il a du garder en cache (même si je supprime l'objet XML et que j'en crée un autre a chaque actualisation).
 
J'ai donc trouvé une astuce, j'ajoute une variable bidon a la fin de la page chargée, ca donne quelque chose du genre :
 
chiffre++;
monXML.load("www.site.com/xml_message.php?"+chiffre);
 
Ce qui donne :
 
www.site.com/xml_message.php?1
www.site.com/xml_message.php?2
www.site.com/xml_message.php?3
www.site.com/xml_message.php?4
...
 
La page chargée est donc "différente" à chaque fois, car chiffre est incrémenté.
 
Mais, mon astuce n'est pas trés éfficace car, quand on ferme l'animation flash et qu'on la réouvre, il va encore chercher dans le cache les pages :
 
www.site.com/xml_message.php?1
www.site.com/xml_message.php?2
www.site.com/xml_message.php?3
 
car la variable chiffre est évidement réinitialisée.
 
Il existe une autre solution, c'est que la variable chiffre soit une variable aléatoire, mais bon, il est encore possible qu'un chiffre soit tiré deux fois...
 
Est ce que quelqu'un connait une solution fiable ?
Il doit bien y en avoir une comme même !
 
Merci à tous ceux qui pourront m'aider :)

Reply

Marsh Posté le 30-11-2003 à 15:31:27   

Reply

Marsh Posté le 30-11-2003 à 15:38:39    

flash et le cache c'est penible :/
 
precises dans l'entete de la page de ne pas la cacher  
 

Code :
  1. <?php
  2.   header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );             // Date du passé
  3.   header("Last-Modified: " . gmdate("D, d M Y H:i:s" ) . " GMT" ); // toujours modifié
  4.   header("Cache-Control: no-cache, must-revalidate" );           // HTTP/1.1
  5.   header("Pragma: no-cache" );                                   // HTTP/1.0
  6. ?>


Message édité par simogeo le 30-11-2003 à 15:38:51

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-11-2003 à 15:55:46    

Ca marche !
Merci merci, j'suis super surpris de cette solution, je pensais pas du tout a faire des modifications au niveau de php.
 
Header("Experires... et Header("Last-Modified... sont obligatoires ?
Cette méthode est éfficace quelque soit le navigateur ?
 
Encore merci pour cette réponse éfficace & rapide !

Reply

Marsh Posté le 30-11-2003 à 15:59:47    

Yoops a écrit :


Cette méthode est éfficace quelque soit le navigateur ?


il me semble qu'une version d'IE passe outre :/ .....
mais je ne crois pas que ce soit solutionnable  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 01-12-2003 à 15:57:58    

Utilise la fonction random pour générer un chiffre plutôt que ton incrémentation, t'auras pas de souci...

Reply

Marsh Posté le 01-12-2003 à 21:30:24    

la méthode de simogeo marche impec, donc je me prends plus la tete avec le chiffre aléatoire

Reply

Sujets relatifs:

Leave a Replay

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