web-dev-qa-db-fra.com

Actualisation forcée des fichiers JavaScript uniquement dans Firefox et Chrome

Je souhaite effacer uniquement les fichiers JavaScript de mes navigateurs Web (Firefox et Chrome). Je suis en train de faire du débogage JavaScript, et il est ennuyeux que mon JS ne soit simplement pas mis à jour chaque fois que je modifie mes fichiers JS. La seule chose que je puisse faire maintenant est d'effacer mes cookies, mais cela efface tout mon historique de navigation.

Comment effacer/actualiser les fichiers JavaScript chargés dans mon navigateur sans effacer les autres fichiers?

63
Graviton

Je le fais moi-même pour le développement. j'utilise Ctrl+F5. C'est comme un rafraîchissement forcé. Cela actualise la page, y compris le téléchargement de nouveau de tous les fichiers JavaScript ou CSS référencés, même s'ils ont été mis en cache.

Cela n'effacera rien d'autre comme votre historique de navigation.

Mais notez bien que même si je sais que cela fonctionne dans Firefox et probablement dans Internet Explorer, je ne sais pas si Ctrl+F5 fonctionne de la même manière dans Chrome.

En outre, iegik dit:

Sur certains navigateurs, vous pouvez utiliser `Ctrl+Shift+R faire la même tâche.

42
7wp

Avec Chrome:

À partir de Chrome 15, ouvrez les outils de développement, cliquez sur la roue dentée en bas à gauche de l'écran et cochez la case Désactiver le cache .

Disable cache in Chrome 15 and up

Ainsi, vous serez sûr que les ressources seront toujours rechargées à partir du serveur et vous ne devrez pas effacer manuellement le cache, ce qui pourrait également supprimer les données mises en cache pour des sites non liés.

50
avernet

Je ne suis pas d'accord avec @ 7wp. Certains de vos utilisateurs finaux ne connaissant pas le Ctrl+F5 et certains ne sont même pas conscients des différences entre les navigateurs et même de l’existence d’autres navigateurs (anciens par exemple), vous devez obliger le navigateur à télécharger une nouvelle copie des fichiers JS/CSS.

La meilleure solution ici est d’ajouter l’horodatage à la fin des noms de fichiers .js/.css ou la version svn, ce qui est également une excellente idée.

<script src="js/myfile.js?t=<?=time()?>" type="text/javascript"></script>
8
Alon Kogan

Vous voudrez peut-être essayer de vider votre cache uniquement, et non votre navigation, votre historique, vos cookies, vos mots de passe, vos données de formulaire enregistrées et tout le reste (valeur par défaut).

Dans Firefox 3.5, accédez à

Outils »Effacer l'historique récent ...

Ensuite, assurez-vous que seul "Cache" est sélectionné avant de sélectionner "Effacer maintenant".

Dans Chrome (je ne sais pas quelle version particulière vous utilisez, car j'utilise les versions de dev), allez à

Icône Clé (Outils) »Options» Onglet Personnel »Effacer les données de navigation ...

Encore une fois, assurez-vous que seulement "Vider le cache" est cochée.

Vous pouvez également essayer d'ouvrir une nouvelle session privée dans Firefox ou une fenêtre de navigation privée dans Chrome. ni ne devriez mettre en cache les fichiers (y compris vos fichiers .JS) que vous avez automatiquement téléchargés et traités lors de la navigation.

5
RoyalKnight

J'ouvre le fichier JavaScript dans un onglet séparé, Shift + rafraichir, vérifier que je vois les dernières modifications, puis Shift + actualise la page réelle (en fait, dans mon cas, cadre dans un jeu de cadres, ce qui semble aggraver les choses). Cela fonctionne presque tout le temps.

1
doug mayo-wells

Dans Chrome, vous pouvez simplement appuyer sur Ctrl et cliquez sur le bouton d'actualisation. J'ai découvert cela par hasard.

1
Julio Bahar

J'ai utilisé une petite astuce sur un site sur lequel je travaille ... pour les mêmes raisons que vous. Je fais de petites modifications et le code JavaScript est chargé par le code JavaScript et je veux m'assurer que je travaille toujours avec le script actuel (non mis en cache).

Essayez de créer le code JavaScript que vous chargez dans un fichier PHP ... il suffit de mettre <?php ?> au début et d'inscrire l'extension .php.

var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");

// The Date added to the file doesn't effect the results but
// helps Internet Explorer be sure to refresh the data and
// not use cache

var d = new Date();

var t = d.getTime();

fileref.setAttribute("src", filename + ".php?date=" + t);

fileref.setAttribute("id", filename);

Parce que le nom change, Internet Explorer pense que c'est un nouveau fichier;)

1
Greg

Je ne l'ai pas utilisé moi-même, mais l'add-on Firefox "Bouton de suppression du cache" pourrait être utile. J'ai lu leur documentation, donc je ne suis pas sûr que cela efface aussi votre historique de navigation.

0
Jared Harley

Accédez aux paramètres de contenu dans Chrome, désactivez JavaScript et enregistrez.

Ensuite, activez à nouveau JavaScript.

0
nisar

Si vous travaillez avec JavaScript et que vous craignez de recharger la page pour refléter les modifications de JavaScript. Essayez d’utiliser le débogueur de Chrome, qui vous permet d’apporter des modifications au (x) fichier (s) JavaScript chargé (s) au moment de l’exécution et de n’utiliser aucun rechargement pour tester les nouvelles fonctions ou les modifications à tester.

0
Nikhil Joshi

Dans la dernière version de Chrome, il est disponible:

 Enter image description here

0
Baljeetsingh

Ajoutez des fonctions de date dynamiques à la fin de votre fichier JavaScript. Cela forcera le navigateur à charger le fichier JavaScript mis à jour. Cela signifie que, si vous incluez le fichier .js, vous pouvez ajouter .... xyz.js?

< ? php echo date('l jS \of F Y h:i:s A') ? >

Bien sûr, cela pourrait être supprimé une fois votre débogage terminé et prêt à être opérationnel.

0
Chris