web-dev-qa-db-fra.com

Arrêtez Chrome Caching Mes fichiers JS

Je vais modifier mes fichiers JS, mais cela ne changera pas vraiment dans le navigateur. Je dois renommer les fichiers à chaque fois pour qu'il soit rechargé. Y a-t-il une sorte de commande .htaccess que je puisse ajouter ou quelque chose pour que cela arrête la mise en cache? 

Il met même en cache mon noyau dur de pages html. Je dois rouvrir tout mon navigateur pour voir les changements. Serait-ce un problème de serveur?

121
Howdy_McGee

Vous pouvez cliquer sur l'icône des paramètres en haut à droite ... | Plus d'outils | Outils de développement | Résea | Disable cache (tant que DevTools est ouvert)

Pour les fenêtres, c’est F12 ou CTRL + SHIFT + I tandis que sur mac CMD + SHIFT + I ouvre DevTools.

Nouveau chemin pour la mise à jour Chrome septembre 2018:

Cliquez sur l'icône des paramètres dans le coin supérieur droit ... | Paramètres | Préférences | Outils de développement | Résea | Disable cache (tant que DevTools est ouvert)

184
MartinHN

Pour ce faire, il suffit de cliquer avec le bouton droit de la souris sur l’icône d’actualisation en regard de la barre d’adresse et de choisir Vider le cache et recharger

Assurez-vous simplement que les outils de développement de Chrome sont ouverts. (Appuyez sur F12) Soit dit en passant ... Cette astuce ne fonctionne que sur Chrome pour Windows, Ubuntu et Mac OS

56
Nicole Rivers

Maintenez la touche Maj enfoncée tout en cliquant sur le bouton de rechargement.

16
StilesCrisis

ajoutez quelque chose comme script.js?a=[random Number] avec le nombre aléatoire généré par PHP.

Avez-vous essayé expire = 0, le pragma "no-cache" et "cache-control = NO-CACHE"? (Je ne sais pas ce qu'ils disent à propos des scripts). 

12
EGOrecords

Quelques idées:

  1. Lorsque vous actualisez votre page dans Chrome, utilisez une combinaison de touches CTRL + F5 pour effectuer une actualisation complète.
  2. Même si vous définissez le délai d'expiration sur 0, il sera toujours mis en cache pendant la session. Vous devrez fermer et rouvrir votre navigateur.
  3. Assurez-vous que les horodatages sont mis à jour lorsque vous enregistrez les fichiers sur le serveur. Chrome émettra d'abord une commande HEAD au lieu d'un GET complet pour savoir s'il doit télécharger à nouveau le fichier complet à nouveau et le serveur utilise l'horodatage pour vérifier.

Si vous souhaitez désactiver la mise en cache sur votre serveur, vous pouvez effectuer les opérations suivantes:

Header set Expires "Thu, 19 Nov 1981 08:52:00 GM"
Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
Header set Pragma "no-cache"

En .htaccess

10
Mike Christensen

Étapes rapides:

1) Ouvrez le tableau de bord Outils de développement en accédant au menu Chrome -> Outils -> Outils de développement.

2) Cliquez sur l'icône des paramètres sur le côté droit (c'est un rouage!)

3) Cochez la case "Désactiver le cache (lorsque DevTools est ouvert)"

4) Maintenant, tant que le tableau de bord est en place, appuyez simplement sur Actualiser pour que JS ne soit pas mis en cache!

6
StackG

Lors des mises à jour de mes applications Web, j'utilise un gestionnaire pour renvoyer un fichier JS unique afin d'éviter les hits massifs sur mon serveur, ou leur ajoute une petite chaîne de requête:

<script type="text/javascript" src="/mine/myscript?20111205"></script>
2
Ryan Ternier
<Files *>
Header set Cache-Control: "no-cache, private, pre-check=0, post-check=0, max-age=0"
Header set Expires: 0
Header set Pragma: no-cache
</Files>
1
Alfabravo

Le problème est que Chrome doit avoir must-revalidate dans l'en-tête Cache-Control` afin de revérifier les fichiers pour voir s'ils doivent être à nouveau récupérés.

Vous pouvez toujours SHIFT-F5 et forcer Chrome à actualiser, mais si vous souhaitez résoudre ce problème sur le serveur, incluez cet en-tête de réponse:

Cache-Control: must-revalidate

Cela indique à Chrome de vérifier auprès du serveur et de vérifier s’il existe un fichier plus récent. SI il existe un fichier plus récent, il le recevra dans la réponse. Dans le cas contraire, il recevra une réponse 304 et l’assurance que celle du cache est à jour.

Si vous ne définissez PAS cet en-tête, en l'absence de tout autre paramètre qui invalide le fichier, Chrome vérifiera jamais avec le serveur pour savoir s'il existe une version plus récente.

Voici un article blog qui traite plus en détail du problème.

1
AgilePro

Je sais que c'est une "vieille" question. Mais les maux de tête avec la mise en cache ne sont jamais. Après des tas d'essais et d'erreurs, j'ai constaté que l'un de nos fournisseurs d'hébergement Web avait, via CPanel, cette application appelée Cachewall. Je viens de cliquer sur Activer le mode de développement et ... voilà !!! Cela a immédiatement arrêté la douleur longtemps soufferte:) J'espère que cela aidera quelqu'un d'autre ... R

1
Ramon Araujo
  1. Outils de développement ouverts

    • Soit F12
    • Ou ... -> More Tools -> Developer Tools
  2. Cliquez sur Empty Cache and Hard Reload

    • Soit un clic droit sur l'icône d'actualisation (juste à gauche de la barre d'adresse)
    • Ou cliquez sur l'icône d'actualisation en la maintenant pendant 1 seconde
0
Xin Wang

Vous pouvez plutôt ouvrir une fenêtre de navigation privée. Passer à une fenêtre de navigation privée a fonctionné pour moi lorsque la désactivation du cache dans une fenêtre chromée normale ne rechargeait toujours pas un fichier JavaScript que j'avais modifié depuis le dernier cache.

_ { https://www.quora.com/Does-incognito-mode-on-Chrome-use-the- cache-qui- était- précédemment-stocké

0
jones-chris

J'obtenais le même fichier css lorsque je naviguais sur le site Web (sur le serveur de la société d'hébergement avec un domaine réel) et je ne pouvais pas obtenir la version mise à jour sur Chrome. J'ai pu obtenir la version mise à jour du fichier lorsque je l'ai parcouru sur Firefox. Aucune de ces réponses n'a fonctionné pour moi. J'ai également les fichiers du site Web sur ma machine et navigue sur le site avec localhost à l'aide de mon serveur Apache local. J'ai arrêté mon serveur Apache et j'ai pu obtenir le fichier mis à jour. D'une manière ou d'une autre, mon serveur Apache local jouait avec le cache chromé. J'espère que cela aide quelqu'un car il était très difficile pour moi de résoudre ce problème. 

0
Alp Hancıoğlu