2
votes

HTML et CSS ne se mettent pas à jour en ligne en raison de la mise en cache du navigateur

Je gère un site Web pour une petite entreprise. Les sites Web contiennent principalement du texte et des images. Chaque fois que je mets à jour le site Web en remplaçant une image ou en mettant à jour le css, il n'est pas mis à jour sur les navigateurs d'autres personnes car il a été mis en cache. J'ai trouvé un moyen de contourner ce problème en ajoutant un numéro de version où je lie ma feuille de style, mais cela ne s'applique pas aux images. Quelle est la manière la plus simple de contourner ce problème?

J'ai fait beaucoup de recherches sur le Web et sur le stackoverflow, mais ce sont toutes des solutions compliquées. Il doit y avoir un meilleur moyen.

Pour être clair, je sais que je peux vider le cache de mon navigateur. Je recherche une solution qui fonctionne pour tous ceux qui accèdent à mon site Web.


2 commentaires

ne pas mettre en cache l'image, le désactiver pour forcer un rechargement à chaque fois


Nous écrivons l'année 2013 ... css-tricks.com/can-we -empêcher-css-cache


3 Réponses :


0
votes

Vous pouvez renommer vos images (de préférence) automatiquement lorsque vous souhaitez éviter leur mise en cache, en ajoutant un numéro de version à leur nom. Si vous avez quelque chose qui fait cela automatiquement, vous contournez le problème de leur mise en cache.

Si vous souhaitez conserver le nom de vos images, vous ne pouvez effectuer la modification que temporairement.


0 commentaires

3
votes

Vous pouvez ajouter ces balises meta et cela forcera une page à se recharger depuis le serveur à chaque rechargement. Cependant, vous devez comprendre que cela pourrait entraîner une utilisation beaucoup plus importante des données pour vous et vos utilisateurs.

onClick="location.reload(true);"

Si vous avez un lien ou un bouton de rechargement sur votre page html, vous pouvez l'ajouter attribuez-lui pour forcer un rechargement à partir du serveur. Le paramètre "true" est ce qui force un rechargement complet au lieu d'un rechargement du cache.

<meta http-equiv=“Pragma” content=”no-cache”>
<meta http-equiv=“Expires” content=”-1″>
<meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>


0 commentaires

0
votes

Essayez de contrôler les versions (? version ) des fichiers pour éviter la mise en cache du navigateur.

ce sera comme filename.jpg? v1 filename.jpg?v2

Ou si vous remplacez fréquemment des fichiers, essayez d'ajouter l'horodatage actuel pour chaque chargement de page

En php,

filename.jpg? "

time () est l'horodatage actuel

Cela signifie que vous ne faites que changer les URL à chaque fois.


0 commentaires