2009-12-09 23:52:52 +0000 2009-12-09 23:52:52 +0000
155
155

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

Quando uso Internet Explorer 8 per testare la mia applicazione web, spesso mi accorgo che spesso non ricarica la pagina, quindi non vedo le mie modifiche. Questo ha comportato una grande perdita di tempo e frustrazione, chiedendomi perché il mio fix “non ha funzionato” - quando in realtà il browser non ha mai caricato la versione fissa.

Ho provato il pulsante Aggiorna. Ho provato F5, Control-F5, Control-R, Control-Shift-R, tenendo premuto Control mentre facevo clic sul pulsante Refresh, tutto quello che mi è venuto in mente - in realtà non carica i nuovi contenuti dal server. L'ho confermato con Fiddler.

Come faccio a dire a IE “ Non mi interessa cosa pensi di aver memorizzato nella cache, voglio ricaricare la pagina - no davvero, voglio davvero, questa volta, onestamente, voglio che tu vada _in realtà sul server e scarichi tutto di nuovo”?

Risposte (12)

126
126
126
2009-12-09 23:57:24 +0000
  1. 1. Selezionare Strumenti >>>>Opzioni Internet.
  2. 2. Fare clic sul pulsante Impostazioni in Cronologia della navigazione.
  3. Selezionare il pulsante Impostazioni in Cronologia della navigazione.
  4. Selezionare il pulsante di opzione ogni volta che si visita la pagina web.
  5. Selezionare il pulsante di opzione Impostazioni in Cronologia. . 4. Fare clic su OK per chiudere la finestra di dialogo Impostazioni.
  6. Fare clic su OK per chiudere la finestra di dialogo Opzioni Internet.
43
43
43
2010-07-08 18:30:53 +0000

Poiché si afferma che IE8 è il browser, si può premere F12 per aprire gli strumenti di sviluppo e selezionare il menu Cache in alto e poi sempre aggiornare dal server per bypassare la cache.

In breve, Premere F12. Cliccate su Cache -> Always Refresh from Server

Anche qui potete semplicemente cancellare la vostra cache, se questa è l'azione desiderata. L'opzione refresh always refresh 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 di IE8 per eseguire il browser in modalità IE7.

22
22
22
2009-12-10 00:38:04 +0000

Ctrl+F5 in IE ricarica la pagina ignorando la cache

19
19
19
2009-12-10 01:31:08 +0000

IE è molto desideroso di mettere in cache le pagine, anche quando gli si dice di non farlo tramite gli header della cache. Microsoft KB 234067 spiega gli incantesimi necessari. In breve, è necessario fornire le seguenti intestazioni.

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

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

In . NET, è possibile 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/ Works bene per MVC3.0.

6
6
6
2009-12-09 23:58:04 +0000

La scheda Network della barra degli strumenti per sviluppatori web ha un pulsante per cancellare facilmente la cache. Di solito lo uso nel caso che descrivi.

Non è l'ideale, dato che forse non vuoi davvero cancellare tutta la tua cache, ma dato che non uso IE per la navigazione generale, per me funziona.

4
4
4
2011-04-01 03:47:03 +0000

Questo accade ancora in IE9. Sorprendentemente, la risposta è Ctrl-Shift-Refresh pulsante

3
3
3
2009-12-10 00:14:40 +0000

Per inciso, il problema potrebbe esistere anche per i visitatori del vostro sito web. Ho visto l'idea seguente in un libro AJAX…

Usa PHP per aggiungere un token a caso all'URL corrente in modo che il browser sia ingannato e faccia credere al browser che si tratti di una pagina a parte.

2
2
2
2009-12-09 23:58:50 +0000

Anch'io ho avuto lo stesso problema. Credo che l'unico modo per farlo sia liberare la cache (Sicurezza -> Cancellare la cronologia di navigazione). Controlla solo “File temporanei Internet”.

Spero che questo sia d'aiuto.

2
2
2
2010-11-17 15:36:29 +0000

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

1
1
1
2009-12-10 01:49:44 +0000

So che può sembrare un po’ strano… ma una cosa che ho notato ultimamente, è che a volte si ottengono risultati diversi a seconda di COME si “rinfresca”. Ho visto il seguente comportamento:

F5 > carica dalla cache senza aggiornare, Alt+D, INVIO > rifresca veramente bypassando la cache. (Alt+D può essere sostituito con un clic nella barra degli indirizzi)

1
1
1
2012-08-22 18:35:56 +0000

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

1
1
1
2010-08-12 02:58:55 +0000

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

A parte l'approccio del token casuale quello che tendo sempre a fare per forzare una ricarica completa (richiesta) della pagina e di tutti i suoi file dipendenti mi basta posizionare il cursore alla fine dell'url e premere Invio. Funziona ogni volta… e uso IE 8.