it-swarm-eu.dev

Come forzare Internet Explorer (IE) a REALMENTE ricaricare la pagina?

Quando si utilizza Internet Explorer 8 per testare la mia applicazione Web, spesso trovo che non ricarica la pagina, quindi non vedo le mie modifiche. Ciò ha comportato un sacco di tempo sprecato e frustrazione chiedendosi perché la mia correzione "non ha funzionato" - quando in realtà il browser non ha mai caricato la versione fissa.

Ho provato il pulsante Aggiorna. ho provato F5Control-F5Control-RControl-Shift-R, in possesso Control Facendo clic sul pulsante Aggiorna, tutto ciò a cui riuscivo a pensare - in realtà non carica i nuovi contenuti dal server. L'ho confermato con Fiddler.

Come faccio a dire IE "Non mi interessa cosa pensi di aver memorizzato nella cache, voglio reload la pagina - no davvero, I lo intendo questa volta, onesto a Dio, voglio che tu effettivamente vai al server e scarica di nuovo tutto "?

151
EMP
  1. Seleziona Strumenti >> Opzioni Internet .
  2. Fai clic su Impostazioni pulsante in Cronologia esplorazione .
  3. Seleziona il Ogni volta che visito la pagina web radio button.
  4. Fai clic suOKper chiudere la finestra di dialogo Impostazioni.
  5. Fai clic suOKper chiudere la finestra di dialogo Opzioni Internet.
122
Gonzalo

Poiché è stato dichiarato che IE8 è il browser, puoi premere F12 per aprire gli strumenti di sviluppo e selezionare il menu Cache nella parte superiore e quindi aggiornare sempre dal server alla cache di bypass.

In breve, premere F12. Fare clic Cache -> Aggiorna sempre dal server

Puoi semplicemente cancellare la cache anche qui, se questa è l'azione desiderata. L'opzione di aggiornamento sempre non è un'opzione globale e non ostacolerà le prestazioni generali in IE.

IE7 ha anche strumenti di sviluppo, ma devono essere installati separatamente. È inoltre possibile utilizzare gli strumenti di sviluppo IE8 per eseguire il browser in modalità IE7.

42
Brandon

Ctrl+F5 in IE ricarica la pagina ignorando la cache

22
mfeingold

IE è molto desideroso di memorizzare nella cache le pagine, anche quando non lo dici tramite le intestazioni della cache. Microsoft KB 234067 spiega gli incantesimi richiesti. In breve, è necessario fornire le seguenti intestazioni.

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

L'impostazione Expires = -1 (come raccomandato nell'articolo della KB) dovrebbe funzionare per la maggior parte dei framework; i browser sono tenuti a trattare i formati di data non validi come in passato ( RFC 2616 ).

In .NET, puoi farlo su una granularità pagina per pagina utilizzando questo insieme di metodi prima di chiamare la pagina 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();

vedi: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Funziona bene per MVC3.0.

17
Marcelo Cantos

La barra degli strumenti di sviluppo Web ha un pulsante per cancellare facilmente la cache. Di solito lo uso nel caso che descrivi.

Non è l'ideale, dato che potresti non voler cancellare l'intera cache, ma dato che non uso IE per la navigazione generale, funziona per me.

6
pkaeding

Questo succede ancora in IE9. Sorprendentemente, la risposta è Ctrl-Shift-Ripristino

4
PandaWood

Per inciso, il problema potrebbe esistere anche per gli utenti del tuo sito web. Ho visto la seguente idea in un AJAX libro ...

Usa PHP per aggiungere un token casuale all'URL corrente in modo che il browser sia indotto a pensare che sia una pagina separata.

3
Moshe

Anch'io ho avuto lo stesso problema. Credo che l'unico modo per farlo sia cancellare la cache (Sicurezza -> Elimina cronologia esplorazioni). Solo selezionare "File temporanei Internet".

Spero che questo ti aiuti.

2
jchapa

Tenere premuto il tasto alt o ctrl tasto mentre si fa clic sul pulsante Aggiorna.

2
niaccm

So che questo può sembrare un po 'strano ... ma una cosa che ho notato ultimamente, è che a volte ottieni risultati diversi a seconda di COME "rinfreschi". Ho visto il seguente comportamento:

F5 > carica dalla cache senza aggiornamento,
Alt+DENTER > really aggiorna bypassando la cache.
(Alt+D può essere sostituito con un clic nella barra degli indirizzi)

1
eidylon

Sono d'accordo che l'aggiunta di un token casuale all'URL è la soluzione più affidabile e una volta implementata l'utente non deve fare nulla.

A parte l'approccio random token, che cerco sempre di forzare una ricarica completa (richiesta) della pagina e tutti i suoi file dipendenti, metto il cursore alla fine dell'URL e premo Invio. Funziona sempre ... e io uso IE 8.

1
Jerry

F12 -> CTRL+R è leggermente più veloce per IE9 +. Come le persone hanno menzionato, IE non cancella la cache in modo molto intelligente come fa Chrome.

1
Chris S