forcer l'expiration d'un .JS

forcer l'expiration d'un .JS - HTML/CSS - Programmation

Marsh Posté le 01-07-2004 à 09:00:37    

hello  :)  
 
est il possible d'empecher qu'un .JS se mette en cache ?
j'ai un JS qui utilise des variables dynamiques et ça ne marche pas énormément car il se met en cache et les variables ne changent pas à moins de faire [CTRL-F5] pour un refresh...
c'est agaçant  :(

Reply

Marsh Posté le 01-07-2004 à 09:00:37   

Reply

Marsh Posté le 02-07-2004 à 08:37:01    

j'ai essayé ces directives dans un .htaccess, ça marche mais ça dépend du browser, de la version du browser, des proxy, des routeurs...
#
ExpiresActive on
ExpiresByType text/javascript A0
ExpiresByType application/x-javascript A0
ExpiresDefault "now plus 0 seconds"
#
 
rien n'y fait, j'ai un PC où ça n'a aucune différence :-/
 
qqu'un connait une méthode plus corriace ?

Reply

Marsh Posté le 02-07-2004 à 10:44:56    

tu te sers de l'URL rewriting et tu génère un nom de JS dymanique. Par exemple, au lieu de l'appeler pb.js, tu l'appelle pub-321445625898756.js (pub+-+timestamp+.js par exple)
Ensuite avec un Htaccess, tu rediriges vers ton fichier réel. C'est totalement transparent pour l'utilisateur.
A chaque fois, le JS aura un nom différent et sera donc rechargé.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-07-2004 à 11:10:18    

Ou bien tu fais en sorte d'appeler fichier.js?3435413541 depuis ta page
(avec un paramètre bidon donc)
Pas besoin d'URL rewriting, le paramètre sera simplement ignoré par le fichier JS


Message édité par antp le 02-07-2004 à 11:10:30

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 02-07-2004 à 11:52:28    

exact et c'est plus simple. Pour quoi passer par Bruxelles pour aller de Rome à Genève ? ;)


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-07-2004 à 12:01:57    

T509 a écrit :

exact et c'est plus simple. Pour quoi passer par Bruxelles pour aller de Rome à Genève ? ;)


Pour prendre antp au passage tient :O

Reply

Marsh Posté le 02-07-2004 à 12:04:52    

Ben oui et pour aller (re)visiter la galerie de la reine


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-07-2004 à 16:36:22    

tu veux dire quand ça:
<script language="javascript" src="fichier.js?toto=unechainealeatoire"></script>
ça marche ?-)

Reply

Marsh Posté le 02-07-2004 à 16:47:00    

oui comme cela. "toto=" n'est même pas nécessaire


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-07-2004 à 18:13:43    

tu vas rire...
 
 
rien n'y fait !
 
voici le test:
http://ad.tsenagasy.com/test.html
 
si tu refresh, ça t'affiche un "no key..."
si tu fais un CTRL F5, ça marche.
 
>>> regarde le source, j'ai mis un random

Reply

Marsh Posté le 02-07-2004 à 18:13:43   

Reply

Marsh Posté le 02-07-2004 à 18:17:26    

ah merde, j'ai fais les modif en prod,... j'ai remis l'ancienne version...
 
mais ça ne marche pas :-/

Reply

Marsh Posté le 02-07-2004 à 18:17:38    

je vois rien du tout qui s'affiche peu importe le browser :??:

Reply

Marsh Posté le 02-07-2004 à 18:18:16    

heu ton +Math.round(Math.random()*100000) il sera jamais interprêté hein

Reply

Marsh Posté le 02-07-2004 à 18:18:57    

Code :
  1. document.write('<script type="text/javascript" src="http://ad.tsenagasy.com/salt.php?clid=MTExLTExMQ==?key='+Math.round(Math.random()*100000)+'"></script>');


Message édité par antp le 02-07-2004 à 18:19:20
Reply

Marsh Posté le 02-07-2004 à 19:09:11    

parce qu'avec ton >> ' << ça évalue ? ça n'a pas l'air d'aller mieux :-/
 
edit: tiens: http://www.tsenagasy.com/advertising/test.html


Message édité par dapp le 02-07-2004 à 19:10:01
Reply

Marsh Posté le 02-07-2004 à 19:29:03    

le +math... est hors des ' ... ' justement
 
mais faudrait mettre &key plutôt que ?key


Message édité par antp le 02-07-2004 à 19:31:22
Reply

Marsh Posté le 03-07-2004 à 02:19:22    

:fou:  
 
yé tout essayé, je l'ai mis dans un document.write, en dehors, dedans, avec des >> " <<, avec des >> ' <<...  :cry:  
 
il ne  veut pas interpréter ce fichu code !!!  :fou:  
 
d'ailleurs c'est bizarre, à l'affiche il me reste plus que  
 

Code :
  1. " );


 
 
http://www.tsenagasy.com/advertising/test.html
 
avec quelques erreurs JS  :cry:  

Reply

Marsh Posté le 03-07-2004 à 02:29:25    

ouais enfin là ton code il a une drôle de tronche
(il ne faut pas d'espaces autour des "=" )
essaie de décomposer le </script> en plusieurs morceaux, c'est sans doute sa présence qui ne lui plaît pas.
Et surtout, entoure le JS de <!-- -->
 

Code :
  1. <script type="text/javascript"><!--
  2. document.write("<script type='text/javascript'>var randk=1;</script>" );
  3. //--></script>


 
et si ça ne suffit pas,
 

Code :
  1. <script type="text/javascript"><!--
  2. document.write("<script type='text/javascript'>var randk=1;<"+"/script>" );
  3. //--></script>

Reply

Marsh Posté le 05-07-2004 à 03:12:36    

il y a des trucs que je ne comprends pas dans le JS:
 
quand on ecrit ça:
 

Code :
  1. <script ... src='generetoto.php'>document.write(toto)</script>


 
-il n'y a que le src='' qui est executé, le reste est ignoré.
-pire encore:
 

Code :
  1. <script ... src='generetoto.js'></script>


 
et que le generetoto.js contient un truc du genre:
 

Code :
  1. document.write("<!--<scr"+"ipt language='JavaScript' src='+generetoto.php+'></scr"+"ipt>-->" );
  2. document.write(toto);


 
la variable toto est inconnue  :??:  
 

Reply

Marsh Posté le 05-07-2004 à 09:32:46    

logique vu que ta balise scripts est dans un commentaire, et que tu refermes la balise avant d'y écrire ta variable...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-07-2004 à 17:59:50    

c'est pareil même sans la balise de comment...
essaie voir, toujours la même adresse.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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