¿Cómo forzar a Internet Explorer (IE) a que REALMENTE vuelva a cargar la página?


154

Cuando uso Internet Explorer 8 para probar mi aplicación web, a menudo encuentro que no vuelve a cargar la página, por lo que no veo mis cambios. Esto ha resultado en mucho tiempo perdido y frustración preguntándome por qué mi solución "no funcionó", cuando en realidad el navegador nunca cargó la versión fija.

He probado el botón Actualizar. He intentado F5, Control- F5, Control- R, Control- Shift- R, presionar Controlmientras hago clic en el botón Actualizar, todo lo que se me ocurre, en realidad no carga los nuevos contenidos del servidor. He confirmado esto con Fiddler.

¿Cómo le digo a IE " No me importa lo que pienses que has guardado en la memoria caché, quiero volver a cargar la página; en realidad no, lo digo en serio esta vez, honestamente, quiero que realmente vayas al servidor y descargar todo de nuevo "?


2
¿Usar una ventana de navegación privada, tal vez?
Josh Lee

3
¿Es posible que su servidor web esté sirviendo la página anterior (a través de caché) en lugar de la nueva versión? No importa cuántas veces recargues en ese caso.
Michael Todd

1
Michael, no, verifiqué en Fiddler que IE no está obteniendo el contenido de la página del servidor.
EMP

Control + F5 va más allá de la caché, que es extraño si no lo hace ....
Tamara Wijsman

2
¡La mejor redacción de una pregunta que he encontrado hasta ahora en StackExchange!
user785529

Respuestas:


126
  1. Seleccione Herramientas >> Opciones de Internet .
  2. Haga clic en el botón Configuración en Historial de navegación .
  3. Seleccione el botón de opción Cada vez que visito la página web .
  4. Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración.
  5. Haga clic en Aceptar para cerrar el cuadro de diálogo Opciones de Internet.

3
Si esto es lo que hizo,
márquelo

34
Puede dañar el rendimiento general de la navegación, pero solo si haces tu navegación general con IE ...
Joel Mueller

3
Ev: el lado orientado al usuario de esto generalmente se soluciona cambiando las URL de todos los scripts y hojas de estilo cada vez que toca el código, generalmente agregando un ?version-numbersufijo de cadena de consulta.
bobince

44
"Cada vez que visito la página web" probablemente no hace lo que crees que hace. Ver fiddler2.com/redir/?id=httpperf
EricLaw el

66
Estoy de acuerdo con @EricLaw, si usa Fiddler verá que los archivos asociados con la página a veces no se vuelven a cargar, incluso cuando se establece "Cada vez que visito la página web". Use el menú de la barra de herramientas de IE: Caché> Actualizar siempre desde el servidor, o el botón Borrar caché en Fiddler.
Phillip Ngan

43

Como se dice que IE8 es el navegador, puede presionar F12para abrir las herramientas de desarrollo y seleccionar el menú Caché en la parte superior y luego siempre actualizar desde el servidor para omitir la caché.

En resumen, presioneF12 . Haga clic en Caché -> Actualizar siempre desde el servidor

Simplemente puede borrar su caché aquí también, si esa es la acción deseada. La opción de actualizar siempre no es una opción global y no obstaculizará el rendimiento general en IE.

IE7 también tiene herramientas de desarrollo, pero deben instalarse por separado. También puede usar las herramientas de desarrollo de IE8 para ejecutar el navegador en modo IE7.


+1 para resolver esto sin usar una opción global.
Marcus Riemer

Al igual que aquí , eso no siempre actualiza todo el contenido. Y tampoco sé si esa recarga es buena en todas las URL: cada ventana parece tener su propio F12 a veces. Esta es una forma más completa de hacerlo si, si tiene acceso a JavaScript, incluya.
ruffin

1
¿Cómo se hace esto en IE 11? No hay una opción de caché que pueda encontrar.
David Thielen

44
En IE 11, esta opción está en F12 -> Red -> 3º icono desde la izquierda.
Den

22

Ctrl+ F5en IE recarga la página ignorando el caché


26
No lo hace Sé que ignora el caché algunas veces, pero no todo el tiempo.
EMP

16
Ctrl + f5 siempre recarga la página desde el servidor. Lo que no necesariamente hace es volver a cargar los archivos adicionales a los que hace referencia la página

2
Es justo, pero lo necesito para volver a cargar TODO.
EMP

1
CTRL + F5 debería realizar una actualización completa de la página y todos sus recursos. Las llamadas realizadas a través de XMLHTTPRequest más tarde pueden almacenarse en caché (si no desea almacenarlas en caché, envíe los encabezados apropiados sin caché). La única advertencia es que si la página en cuestión es XML, realmente se está cargando a través de MSXML, y que DocHost NO respeta CTRL + Actualizar correctamente.
EricLaw

3
Ctrl + F5 no siempre vuelve a cargar todo desde el servidor. En mis pruebas, javascript contenido en el archivo html no se vuelve a cargar después de presionar ctrl-f5 a pesar de que la página ha cambiado.
rcarver

18

IE está muy ansioso por almacenar en caché las páginas, incluso cuando le dice que no lo haga a través de encabezados de caché. Microsoft KB 234067 explica los encantamientos necesarios. En resumen, debe entregar los siguientes encabezados.

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

La configuración Expires = -1(como se recomienda en el artículo de KB) debería funcionar para la mayoría de los marcos; Se requiere que los navegadores traten los formatos de fecha inválidos como pasados ​​( RFC 2616 ).

En .NET, puede hacerlo en una granularidad página por página utilizando este conjunto de métodos antes de llamar a la página 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();

ver: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Funciona bien para MVC3.0.


1
Falso. IE6 + respeta completamente todos los encabezados que prohíben la caché. fiddler2.com/redir/?id=httpperf
EricLaw

Eso está muy bien, pero no ayuda a WRT la pregunta.
Matthias Urlichs

6

La pestaña Red de la barra de herramientas del desarrollador web tiene un botón para borrar fácilmente el caché. Usualmente uso eso en el caso que usted describe.

No es lo ideal, ya que es posible que no desee borrar todo el caché, pero como no uso IE para la navegación general, funciona para mí.


4

Esto todavía sucede en IE9. Sorprendentemente, la respuesta es: Ctrl- ShiftBotón Actualizar


¿Funciona de manera diferente al botón Ctrl-Actualizar?
Jon Onstott

3

Por cierto, el problema posiblemente existirá también para los visitantes de su sitio web. Vi la siguiente idea en un libro de AJAX ...

Use PHP para agregar un token aleatorio a la URL actual para que el navegador se engañe y piense que es una página separada.


Sin embargo, hace que las URL sean feas.
LawrenceC

2

He tenido el mismo problema yo mismo. Creo que la única forma de hacerlo es borrar el caché (Seguridad -> Eliminar el historial de navegación). Solo marque "Archivos temporales de Internet".

Espero que esto ayude.


2

Mantenga presionada la tecla alto ctrlmientras hace clic en el botón Actualizar.


1

Estoy de acuerdo en que agregar un token aleatorio a la URL es la solución más confiable y una vez que se implementa, el usuario no tiene que hacer nada.

Aparte del enfoque de token aleatorio, lo que suelo hacer siempre para forzar una recarga completa (solicitud) de la página y todos sus archivos dependientes, simplemente coloco el cursor al final de la url y presiono Enter. Funciona siempre ... y uso IE 8.


1

F12-> CTRL+ Res un poco más rápido para IE9 +. Como la gente ha mencionado, IE no borra el caché de manera muy inteligente como lo hace Chrome.


1

Sé que esto puede parecer un poco extraño ... pero una cosa que he notado últimamente es que a veces obtienes resultados diferentes dependiendo de CÓMO te "actualices". He visto el siguiente comportamiento:

F5> cargas de la memoria caché sin actualizar,
Alt+ D, ENTER> realmente se actualiza sin pasar por la memoria caché.
( Alt+ Dse puede reemplazar haciendo clic en la barra de direcciones)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.