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


Cuando uso Internet Explorer 8 para probar mi aplicación web, a menudo me parece que no vuelve a cargar la página, por lo que no veo mis cambios. Esto ha resultado en una gran pérdida de tiempo 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, Controlar-F5, Controlar-R, Controlar-Cambio-R, sosteniendo Controlar Al hacer clic en el botón Actualizar, todo lo que pude pensar, 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 creas que has guardado en la memoria caché, quiero recargar la página - no, realmente, yo lo digo en serio esta vez, honesto con Dios, quiero que actualmente ir al servidor y descargar todo de nuevo"¿?"


145


origen


Use una ventana de navegación privada, tal vez? - Josh Lee
¿Es posible que su servidor web esté publicando 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
Michael, no, verifiqué en Fiddler que IE no está obteniendo los contenidos de la página del servidor. - EMP
Control + F5 va más allá de la caché, es extraño si no ... - Tom Wijsman
¡La mejor redacción de una pregunta que he encontrado hasta ahora en StackExchange! - user785529


Respuestas:


  1. Seleccionar Herramientas >> Opciones de Internet.
  2. Haga clic en el Configuraciones botón en Historial de navegación.
  3. Selecciona el Cada vez que visito la página web boton de radio.
  4. Hacer clic DE ACUERDO para cerrar el cuadro de diálogo Configuración.
  5. Hacer clic DE ACUERDO para cerrar el cuadro de diálogo Opciones de Internet.

119



Si esto es lo que hiciste, márcalo como la respuesta - Earlz
Puede perjudicar el rendimiento general de navegación, pero solo si realiza su navegación general con IE ... - Joel Mueller
Ev: El lado que mira al usuario se suele corregir al cambiar las URL de todos los scripts y hojas de estilo cada vez que toca el código, generalmente al agregar un ?version-number sufijo de cadena de consulta. - bobince
"Cada vez que visito la página web" probablemente no haga lo que crees que hace. Ver fiddler2.com/redir/?id=httpperf - EricLaw
Estoy de acuerdo con @EricLaw, si usas Fiddler verás que los archivos asociados a la página a veces no se vuelven a cargar incluso cuando está configurado "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


Dado que IE8 es el navegador, puedes presionar F12 para abrir las herramientas de desarrollo y seleccionar el menú Caché en la parte superior y luego actualizar siempre desde el servidor para omitir el caché.

En breve, prensa F12. Hacer clic Cache -> Siempre actualice desde el servidor

También puede borrar su caché aquí, si esa es la acción deseada. La opción de actualización 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 IE8 para ejecutar el navegador en modo IE7.


41



+1 para resolver esto sin usar una opción global. - Marcus Riemer
Similar a aquí, eso no siempre actualiza todo el contenido. Y no sé si esa recarga también es válida en 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 incluir javascript. - ruffin
¿Cómo se hace esto en IE 11? No hay una opción de caché que pueda encontrar. - David Thielen
En IE 11, esta opción está debajo de F12 -> Red -> 3er icono de la izquierda. - Den


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


22



No, no es así. Sé que ignora el caché algunas veces, pero no todo el tiempo. - EMP
Ctrl + f5 siempre recarga la página del servidor. Lo que no necesariamente es volver a cargar los archivos adicionales que las referencias de la página
Es suficiente, pero necesito que vuelva a cargar TODO. - EMP
CTRL + F5 debe 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 las quiere en caché, envíe encabezados no caché apropiados). 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 + Refrescar correctamente. - EricLaw
ctrl + f5 no siempre recarga todo desde el servidor. En mis pruebas, el javascript contenido en el archivo html no se recarga luego de presionar ctrl-f5 aunque la página haya cambiado. - rcarver


IE está muy ansioso por almacenar en caché las páginas, incluso cuando lo dices no 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>

Ajuste Expires = -1 (como se recomienda en el artículo de KB) debería funcionar para la mayoría de los marcos; los navegadores deben tratar los formatos de fecha no válidos como si estuvieran en el pasado (RFC 2616)

En .NET, puede hacerlo en una granularidad página por página mediante el uso de 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.


14



Falso. IE6 + respeta completamente todos los encabezados de prohibición de caché. fiddler2.com/redir/?id=httpperf - EricLaw
Eso está muy bien, pero no ayuda a WRT con la pregunta. - Matthias Urlichs


La barra de herramientas del desarrollador web tiene un botón para borrar fácilmente el caché. Usualmente uso eso en el caso que describes.

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


6





Esto todavía sucede en IE9. Sorprendentemente, la respuesta es Ctrl-Cambio- Botón de actualización


4



¿Funciona de manera diferente que el botón Ctrl-Refresh? - Jon Onstott


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

Use PHP para agregar un token aleatorio a la URL actual para engañar al navegador y hacerle pensar que es una página separada.


3



Sin embargo, hace que las URL sean feas. - LawrenceC


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

Espero que esto ayude.


2