2012-06-18 3 views
3

Je développe et exécute actuellement mon site à partir de Visual Studio 2010. Le site est lancé dans Google Chrome lors de la compilation.Prévention de la mise en cache de javascripts et de css en cours de développement

Quelque part sur le chemin, les objets sont mis en cache. Je peux faire une modification à une fonction javascript, mais à moins que je vide le cache en chrome, l'ancienne version du script est en cours d'exécution. Je cours Visual Studio 2010 avec .net 3.5 et la dernière version de Google Chrome.

Est-il possible de charger automatiquement le dernier script à chaque fois? Je ne veux vraiment pas ajouter un paramètre? Sur mon tag de script chaque fois que je sauvegarde et compile. Il devient vieux devoir effacer le cache chaque fois.

Merci!

Répondre

2

Méthode simple que je l'utilise est soit CTRL - F5 chaque chrome temps est ouvert, OU, vous pouvez tuer le serveur web local avant d'exécuter l'application:

enter image description here

Voir liste des raccourcis chromés pour une lecture supplémentaire: Keyboard Shortcuts. Observez que CTRL - F5 ainsi que SHIFT - F5 rechargera la page en cours, tout en ignorant le contenu mis en cache.

J'utilise généralement la méthode ci-dessus au lieu de désactiver tout le cache ensemble (à partir de paramètres de chrome) parce que c'est un cas localisé où je veux supprimer le cache. Toutes les autres situations (comme la navigation normale) Je préférerais garder le cache.

8

Open Chrome Dev Tools. Dans le coin inférieur droit, il y a une icône d'engrenage. Cliquez dessus et cliquez sur "Désactiver le cache".

Il y a aussi une option "Dock to right". Essayez-le, peut-être, vous l'aimerez!

0

Vous pouvez toujours importer la source javascript avec un paramètre:

<script type="text/javascript" src="../scripts/scriptFile.js?28361823"></script> 

La plupart des gens utilisent une fonction getTimeInMillis() pour remplir la demande. Cela contournera le cache (généralement) et vous obtiendrez les dernières données.

Cela forcera également vos utilisateurs à récupérer le javascript, alors soyez prudent.

3

Vous pouvez également obtenir le serveur pour ajouter l'en-tête suivant aux demandes sortant du serveur:

cache-control:no-store, no-cache, must-revalidate, max-age=0 

En outre, vous pouvez commencer chrome avec un drapeau de ligne de commande qui désactive la mise en cache. Pour ce faire, créez un nouveau raccourci et tapez dans la zone cible ce qui suit, remplacer par votre propre nom d'utilisateur pour votre ordinateur:

C:\Users\<username here>\AppData\Local\Google\Chrome\Application\chrome.exe --disk-cache-size=1 -media-cache-size=1 

Les drapeaux doivent être mis à un, parce que 0 est illimité. Les nombres sont en octets.

Espérons que cela aide.

Modifier: Pour recharger la page une seule fois sans le cache, appuyez sur CTRL+SHIFT+R. Ce devrait fonctionner dans tous les navigateurs.

0

Si vous souhaitez empêcher la mise en cache des fichiers css ou javascript dans les navigateurs, utilisez l'ID de version aléatoire dans votre lien. par exemple utiliser:

<link href=<%="'mystyle.css?version="+ DateTime.Now.ToString("yyyyMMddhhmmss") +"'"%> rel="stylesheet" type="text/css"/> 

où monstyle.css est un fichier de feuille de style et la fonction DateTime.Now.ToString (« aaaammjjhhmmss ») utilisé pour générer id version aléatoire différente.

Questions connexes