chargement flash en javascript + cache

chargement flash en javascript + cache - Flash/ActionScript - Programmation

Marsh Posté le 08-08-2008 à 18:28:43    

Bonjour,
 
j'ai intégré les graph de amCharts.com, car c'est pas mal.
 
seulement, petit (enfin gros) soucis !!!
 
j'ai un fichier swf( et pas de fla). je créé un xml qui est intégré dans le swf de amchart et ça me créé un graphique.
jusque la tout baigne.
 
voici le code :  

Code :
  1. <script type="text/javascript" src="ampie/swfobject.js"></script>
  2. <div id="flashcontent">
  3.  <strong>You need to upgrade your Flash Player</strong>
  4. </div>
  5. <script type="text/javascript">
  6.  // <![CDATA[  
  7.  var so = new SWFObject("ampie/ampie.swf", "ampie", "520", "400", "8", "#FFFFFF" );
  8.  so.addVariable("path", "ampie/" );
  9.  so.addVariable("settings_file", escape("ampie/ampie_settings.xml" ));       // you can set two or more different settings files here (separated by commas)
  10.  so.addVariable("data_file", escape("ampie/ampie_data.xml" ));
  11. // so.addVariable("chart_data", "" );                                          // you can pass chart data as a string directly from this file
  12. // so.addVariable("chart_settings", "" );                                      // you can pass chart settings as a string directly from this file
  13. // so.addVariable("additional_chart_settings", "<settings></settings>" );      // you append some chart settings to the loaded ones
  14. //  so.addVariable("loading_settings", "LOADING SETTINGS" );                    // you can set custom "loading settings" text here
  15. //  so.addVariable("loading_data", "LOADING DATA" );                            // you can set custom "loading data" text here
  16.     so.addVariable("preloader_color", "#999999" );
  17.  so.write("flashcontent" );
  18.  // ]]>
  19. </script>


 
donc moi je genere mon xml en php.
 
problème : LE CACHE DE EXPLORER ....
le swf se met en cache et donc quand je fait d'autre choix (dans mon code php) et que ça regénère mon xml, bah le swf lui il change pas (il faut que je vide mon cache pour voir la modif), pas top quoi.
 
j'ai déjà eu ce problème auparavant mais j'avais mon .fla donc j'ai bidouiller dans l'import xml pour qu'il n'y est pas de mise en cache.
 
mais la, je ne vois pas comment faire puisque je n'ai qu'un swf...
je présice que j'ai déjà testé le ampie/ampie.swf?valeurunique  et rien n'y fait mon swf est mis en cache...
 
si quelqun a déjà testé ça, je vous remercie pour l'aiguillage...

Reply

Marsh Posté le 08-08-2008 à 18:28:43   

Reply

Marsh Posté le 09-08-2008 à 09:55:55    

Que le swf soit mis en cache ça n'est pas un problème, le soucis c'est que ton xml est aussi mis en cache.
 
Il faut que tu appeles le xml qui contient les données avec une querystring aléatoire.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 11-08-2008 à 04:44:11    

Ca ou bien tu peux ajouter ce code dans ton fichier php

Code :
  1. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
  2. header("Cache-Control: no-store, no-cache, must-revalidate" );
  3. header("Cache-Control: post-check=0, pre-check=0",false);
  4. header("Pragma: no-cache" );


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 11-08-2008 à 09:19:17    

Shinuza c'est exactement ça... et ça fonctionne parfaitement,merci beaucoup ! en fait c'est logique ce que tu dis puisque c'est du xml qu'il est question...mais je n'y avait pas pensé...pfff !!! .
Cette question reviens beaucoup sur le net (sans réponse)donc j'espère que ce post servira à d'autres... :-)
 
zedlefou, j'avais effectivement testé avec les headers aussi mais sans succès...
Merci pour vos réponses.

Reply

Marsh Posté le 02-06-2010 à 16:07:54    

Bonjour,
 
j'ai exactement le même problème que jedebute75 donc je me permets de répondre à ce post malgrè ces 2 ans !
 
Mais je n'ai malheureusement pas compris la solution donnée par Shinuza :  

Citation :

Que le swf soit mis en cache ça n'est pas un problème, le soucis c'est que ton xml est aussi mis en cache.  
 
Il faut que tu appeles le xml qui contient les données avec une querystring aléatoire.


 
Si quelqu'un peut m'aiguiller un peu!
 
Merci

Reply

Marsh Posté le 02-06-2010 à 17:36:45    

marine42 a écrit :

Bonjour,
 
j'ai exactement le même problème que jedebute75 donc je me permets de répondre à ce post malgrè ces 2 ans !
 
Mais je n'ai malheureusement pas compris la solution donnée par Shinuza :  

Citation :

Que le swf soit mis en cache ça n'est pas un problème, le soucis c'est que ton xml est aussi mis en cache.  
 
Il faut que tu appeles le xml qui contient les données avec une querystring aléatoire.


 
Si quelqu'un peut m'aiguiller un peu!
 
Merci


Tu rajoutes
 

Code :
  1. ?nocache=" + new Date().getTime();

à l'url de ton XML


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 03-06-2010 à 09:26:44    

Merci beaucoup, voilà qui est plus clair!!
 
Ta solution a résolu mon problème!!

Reply

Sujets relatifs:

Leave a Replay

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