Comment forcer Internet Explorer (IE) à recharger REELLEMENT la page?

Lorsque vous utilisez Internet Explorer 8 pour tester mon application Web, je trouve souvent qu'il ne recharge pas la page, donc je ne vois pas mes modifications. Cela a entraîné beaucoup de gaspillage de temps et de frustration en me demandant pourquoi ma correction "n'a pas fonctionné" – alors qu'en fait, le navigateur n'a jamais chargé la version fixe.

J'ai essayé le bouton Actualiser. J'ai essayé F5 , ControlF5 , ControlR , ControlShiftR , en maintenant Control tout en cliquant sur le bouton Refresh, tout ce que je pourrais penser – il ne charge pas les nouveaux contenus du serveur. Je l'ai confirmé avec Fiddler.

Comment puis-je dire à IE " Je ne me soucie pas de ce que vous pensez que vous avez mis en cache, je veux recharger la page? Pas vraiment, je le dis cette fois, honnête à Dieu, je veux que vous vous rendiez au serveur et Téléchargez tout de nouveau "?

  1. Sélectionnez Outils >> Options Internet .
  2. Cliquez sur le bouton Paramètres dans l' historique de navigation .
  3. Sélectionnez la fois que je visite le bouton radio de la page Web .
  4. Cliquez sur OK pour fermer la boîte de dialogue Paramètres.
  5. Cliquez sur OK pour fermer la boîte de dialogue Options Internet.

Comme il est indiqué que IE8 est le navigateur, vous pouvez appuyer sur F12 pour ouvrir les outils de développement et sélectionner le menu Cache en haut, puis actualiser régulièrement du serveur pour contourner le cache.

En bref, appuyez sur F12 . Cliquez sur Cache -> Actualisez toujours à partir du serveur

Vous pouvez simplement effacer votre cache ici aussi, si c'est l'action souhaitée. L'option toujours actualisée n'est pas une option globale et n'empêchera pas les performances globales dans IE.

IE7 possède également des outils de développement, mais ils doivent être installés séparément. Vous pouvez également utiliser les outils de développeur IE8 pour exécuter le navigateur en mode IE7.

Ctrl + F5 dans IE recharge la page ignorant le cache

IE est très impatient de mettre en cache les pages, même si vous ne le dites pas sur les en-têtes de la cache via. Microsoft KB 234067 explique les incantations requises. Bref, vous devez fournir les en-têtes suivants.

 Pragma: no-cache Cache-Control: no-cache Expires: <some time in the past> 

Le paramètre Expires = -1 (comme recommandé dans l'article KB) devrait fonctionner pour la plupart des frameworks; Les navigateurs sont obligés de traiter les formats de date invalides comme précédemment ( RFC 2616 ).

Dans .NET, vous pouvez le faire sur une granularité page par page en utilisant cet ensemble de méthodes avant d'appeler la page Web:

 HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); HttpContext.Response.Cache.SetValidUntilExpires(false); HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches); HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); HttpContext.Response.Cache.SetNoStore(); 

Voir: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Fonctionne bien pour MVC3.0.

La barre d'outils du développeur Web dispose d'un bouton pour effacer facilement le cache. J'utilise habituellement cela dans le cas où vous décrivez.

Ce n'est pas idéal, car vous ne voulez peut-être pas effacer tout votre cache, mais comme je n'utilise pas IE pour la navigation générale, cela fonctionne pour moi.

Par ailleurs, le problème existera peut-être pour les téléspectateurs de votre site. J'ai vu l'idée suivante dans un livre AJAX …

Utilisez PHP pour ajouter un jeton aléatoire à l'URL actuelle afin que le navigateur soit trompé en pensant que c'est une page distincte.

Cela se produit toujours dans IE9. Étonnamment, la réponse est CtrlShift -Refresh button

J'ai moi-même le même problème. Je crois que la seule façon de le faire est d'effacer le cache (Safety -> Delete Browsing History). Ne cochez que "Fichiers Internet temporaires".

J'espère que cela t'aides.

Maintenez la touche alt ou ctrl enfoncée lorsque vous cliquez sur le bouton de rafraîchissement.

Je suis d'accord que l'ajout d'un jeton aléatoire à l'url est la solution la plus fiable et une fois qu'il est implémenté, l'utilisateur ne doit rien faire.

Mis à part l'approche de jeton aléatoire, ce que j'ai tendance à faire toujours pour forcer une recharge complète (demande) de la page et tous ses fichiers dépendants, je place mon curseur à la fin de l'url et appuyez sur Entrée. Fonctionne à chaque fois … et j'utilise IE 8.

F12 -> CTRL + R est légèrement plus rapide pour IE9 +. Comme les gens l'ont mentionné, IE ne nettoie pas le cache de façon très intelligente, comme le fait Chrome.

Je sais que cela peut sembler un peu bizarre … mais une chose que j'ai remarquée dernièrement, c'est que vous obtenez parfois des résultats différents en fonction de COMMENT vous «rafraîchir». J'ai vu le comportement suivant:

F5 > charges depuis le cache sans rafraîchissement,
Alt + D , ENTER > rétablit vraiment le contournement du cache.
( Alt + D peut être remplacé en cliquant dans la barre d'adresse)