forcer l'expiration d'un .JS - HTML/CSS - Programmation
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 ?
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é.
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
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 ?
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
Marsh Posté le 02-07-2004 à 12:04:52
Ben oui et pour aller (re)visiter la galerie de la reine
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 ?-)
Marsh Posté le 02-07-2004 à 16:47:00
oui comme cela. "toto=" n'est même pas nécessaire
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
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 :-/
Marsh Posté le 02-07-2004 à 18:17:38
je vois rien du tout qui s'affiche peu importe le browser
Marsh Posté le 02-07-2004 à 18:18:16
heu ton +Math.round(Math.random()*100000) il sera jamais interprêté hein
Marsh Posté le 02-07-2004 à 18:18:57
Code :
|
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
Marsh Posté le 02-07-2004 à 19:29:03
le +math... est hors des ' ... ' justement
mais faudrait mettre &key plutôt que ?key
Marsh Posté le 03-07-2004 à 02:19:22
yé tout essayé, je l'ai mis dans un document.write, en dehors, dedans, avec des >> " <<, avec des >> ' <<...
il ne veut pas interpréter ce fichu code !!!
d'ailleurs c'est bizarre, à l'affiche il me reste plus que
Code :
|
http://www.tsenagasy.com/advertising/test.html
avec quelques erreurs JS
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 :
|
et si ça ne suffit pas,
Code :
|
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 :
|
-il n'y a que le src='' qui est executé, le reste est ignoré.
-pire encore:
Code :
|
et que le generetoto.js contient un truc du genre:
Code :
|
la variable toto est inconnue
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...
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.
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