2017-01-19 3 views
0

Je développe une application web avec Spring MVC & Mise en veille prolongée et je déployer dans Apache Tomcat 8.Les utilisateurs ne voient pas le CSS/JavaScript dans le navigateur change instantanément

Mes utilisateurs utilisent Google Chrome pour utiliser mon application normalement mais quand je fais un changement dans le CSS ou JavaScript et que je redéploie les changements dans Tomcat les utilisateurs ne voient pas les changements dans leur navigateur!

Je dois donc nettoyer manuellement le cache dans le Chrome. Comment puis-je désactiver le cache pour que je puisse y apporter des modifications et que mes utilisateurs les voient instantanément?

+0

Voir par exemple https://www.keycdn.com/blog/http-cache-headers/. Vous souhaiterez peut-être vous assurer de choisir les propriétés de mise en cache appropriées pour le système de production. – JimmyB

+0

Copie possible de [Comment puis-je forcer les clients à actualiser les fichiers JavaScript?] (Http://stackoverflow.com/questions/32414/how-can-i-force-clients-to-refresh-javascript-files) –

Répondre

2

Vous pouvez simplement ajouter une version de déploiement à votre fichier css afin que cela réinitialise le cache d'une version à l'autre. Par exemple. stylesheet.css?v=2.1.1.

1

Vous devriez essayer d'ajouter un numéro de version ou peut-être un changement de date d'horodatage sur les scripts/lien NRE de votre css/js comme ceci:

<head> 

    <script type="text/javascript" src="js/file.js?#version_number"></script> 
    <link rel ="stylesheet" href="css/file.css?#version_number" /> 

</head> 
  • où le numéro de version est devrait être remplacé par côté serveur Code

cette force le navigateur à recharger les scripts à chaque fois, au lieu d'utiliser la version du cache stocké du script/stylesheet