captain_torche Posté 30 Juillet 2010 Posté 30 Juillet 2010 J'ai fait des modifications critiques sur un fichier JavaScript : elles ne seront actives que si l'utilisateur vide son cache. Y a t'il un moyen de dire au navigateur que l'ancienne version du fichier a expiré ?
Dadou Posté 30 Juillet 2010 Posté 30 Juillet 2010 Malheureusement avec les merdes que IE fait avec le cache, il n'y a pas de moyen fiable pour ça, sauf à changer l'url d'appel du JS
captain_torche Posté 30 Juillet 2010 Auteur Posté 30 Juillet 2010 Ok, c'est ce que j'ai fini par faire, de toutes façons Merci pour la réponse !
ams51 Posté 30 Juillet 2010 Posté 30 Juillet 2010 Pour signifier une nouvelle version je mets un paramètre à mon fichier fichier.js?version=1.2 et je fais varier le numéro de version, ça permet de forcer la mise en cache
Patrick Posté 30 Juillet 2010 Posté 30 Juillet 2010 Sinon as-tu pensé à regarder un outil subversion ? ou apache ant ? ++ Patrick
Bigb06 Posté 31 Juillet 2010 Posté 31 Juillet 2010 Si on veut optimiser au maximum le chargement des fichiers (js et css), la meilleure solution c'est d'intégrer soit dans le nom du fichier, soit via un paramètre le md5 du fichier. On est sûr à chaque livraison que si le fichier est modifié il sera téléchargé par le navigateur, sinon il utilisera la version en cache, pour peu qu'on est appliqué des expire headers lointains. Personnellement j'utilisais cette technique manuellement pendant des années (à savoir à chaque modification d'un fichier js je changeais manuellement le paramètre passé, par exemple script.js?1234783). Depuis quelques temps le déploiement et la modification se font automatiquement via un script ant qui permet de concaténer, compresser et renommer les fichiers js et css.
Patrick Posté 31 Juillet 2010 Posté 31 Juillet 2010 @Big06: par script ant tu parles de Apache ant ? ou d'un autre ? Merci de donner plus d'infos s'il ne s'agit pas de apache ant. ++ Patrick
Bigb06 Posté 31 Juillet 2010 Posté 31 Juillet 2010 _AT_Big06: par script ant tu parles de Apache ant ? ou d'un autre ? Merci de donner plus d'infos s'il ne s'agit pas de apache ant. ++ Patrick non il s'agit bien d'apache ant
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant