web-dev-qa-db-esp.com

Desactivación de la memoria de Chrome para el desarrollo de sitios web

Estoy modificando la apariencia de un sitio (modificaciones de CSS) pero no puedo ver el resultado en Chrome debido a la molesta caché persistente. Lo intenté Shift+ actualizar pero no funciona.

¿Cómo puedo deshabilitar el caché temporalmente o actualizar la página de forma que pueda ver los cambios?

1532
tomermes

Chrome DevTools puede deshabilitar el caché.

  1. Haz clic derecho y elige Inspect Element para abrir DevTools. O use los siguientes atajos de teclado :
    • F12
    • Command+Option+i en Mac
    • Control+Shift+i en Windows o Linux
  2. Haga clic en Network en la barra de herramientas para abrir el panel de red.
  3. Marque la casilla de verificación Disable cache en la parte superior.

screenshot of development tools panel

Tenga en cuenta que, como se indica en Tweet de @ ChromiumDev , esta configuración solo está activa mientras los devtools están abiertos .

Tenga en cuenta que esto dará como resultado que todos los recursos se vuelvan a cargar. Si desea deshabilitar la memoria caché solo para algunos recursos, puede modificar el encabezado HTTP que su servidor envía junto con sus archivos.

Si no desea utilizar la casilla de verificación Disable cache, una pulsación larga en el botón de actualización con DevTools abierto mostrará un menú con las opciones para Hard Reload o Empty Cache and Hard Reload que debería tener un efecto similar. Lea sobre la diferencia entre las opciones . Los siguientes atajos están disponibles:

  • Command+Option+R en Mac
  • Control+Shift+R en Windows o Linux

long press

1919
Steve

enter image description here

Borrar el caché es demasiado molesto cuando necesita borrarlo 30 veces por hora ... así que instalé una Extensión de Chrome llamada Classic Cache Killer que borra el caché en cada carga de página.

Chrome Store Link (gratis)(¡Ahora sin malware!)

Ahora mis simulacros de json, javascript, css, html y datos se actualizan cada vez on cada carga de página .

Yo nunca tengo que preocuparme si necesito borrar mi caché.

Encontré alrededor de 20 limpiadores de caché para Chrome, pero este parecía ligero y sin esfuerzo. En una actualización, Cache Killer ahora puede permanecer "siempre encendido".

Nota: no conozco al autor del complemento de ninguna manera. Simplemente lo encontré útil.

239
Evildonald

Picture of reload menu

  1. Levanta la consola del desarrollador de Chrome presionando F12 y luego (con la consola abierta):

  2. Haga clic con el botón derecho (o mantenga presionado el botón izquierdo) en el botón de recarga en la parte superior del navegador y seleccione "Vaciar caché y recargar duro".

Esto irá más allá de la "Recarga difícil" para vaciar el caché por completo, asegurando que todo lo que se descargue a través de javascript o etc. también evitará el uso del caché. No tiene que meterse con la configuración ni nada, es una solución rápida de 1 disparo.

195
JackArbiter

Hay dos opciones más para deshabilitar el almacenamiento en caché de la página en Chrome para siempre :

1. Desactive Chrome Cache en el Registro

Abrir registro (Inicio -> Comando -> Regedit)

Buscar por HKEY_CLASSES_ROOT\ChromeHTML\Shell\open\command

Cambie la parte después de ... chrom.exe "a este valor: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

Ejemplo: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

IMPORTANTE:

  • hay un espacio y un guión después de ... chrome.exe "

  • deje la ruta a chrome.exe como está

  • Si copia la línea, asegúrese de verificar, si las comillas son comillas reales.

2. Desactive el caché de Chrome cambiando las propiedades del acceso directo

Haga clic derecho en el icono de Chrome y seleccione "Propiedades" en el menú contextual. Agregue el siguiente valor a la ruta: –disk-cache-size=1

Ejemplo: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

IMPORTANTE:

  • hay un espacio y un guión después de ... chrome.exe "

  • deje la ruta a chrome.exe como está

41
user2653348

Si no desea editar la configuración de Chrome, puede usar el modo de incógnito para obtener los mismos resultados.

26
Karl Morrison
  1. F12 para abrir Chrome DevTools
  2. F1 para abrir la configuración de DevTools
  3. Marque Deshabilite el caché (mientras DevTools está abierto) como se muestra a continuación:

Esto está actualmente en la pestaña Preferencias que es la predeterminada. Es posible que necesite desplazarse hacia abajo. Esta casilla de verificación se ha movido al menos un par de veces desde que se hizo esta pregunta. La última vez que lo verifiqué, estaba en la columna central en la parte inferior. Si lo tiene abierto en una pantalla más delgada y hay 2 columnas en Preferencias, puede estar cerca de la parte superior derecha. Siéntase libre de actualizar esta publicación si cambia o comenta y actualizaré la publicación.

enter image description here

21
Tony L.

Además de la opción de deshabilitar caché (que se obtiene a través de un botón en la esquina inferior derecha de la ventana de herramientas del desarrollador: Herramientas | Herramientas del desarrollador, o Ctrl + Shift + I), en el panel de red de las herramientas del desarrollador, ahora puede hacer clic derecho y elegir "Borrar caché" en el menú emergente.

21
Tim Keating

En lugar de golpear "F5" solo pulsa:

"Ctrl + F5"

17
Arvand

En el Canal de Canarias (y tal vez el canal de desarrollo y el canal estable seguirán) se encuentra como la segunda opción general en el lado izquierdo debajo de la sección "General".

Disable Cache in Chrome Canary Channel

Además de eso, siempre existe la opción de cambiar al modo de incógnito mediante Ctrl + Shift + N. Aunque, lamentablemente, esto también finaliza la sesión.

17
Bruiser

Para que quede claro, la casilla de verificación de deshabilitar caché en Chrome (v17 aquí, pero como creo que v15) no está en la interfaz de usuario de configuración principal. Está en la interfaz de usuario de configuración de herramientas de desarrollador.

  1. Desde el menú del icono de la llave de la ventana del navegador (menú de preferencias), seleccione Herramientas → Herramientas del desarrollador

  2. En la interfaz de usuario de las herramientas de desarrollador que aparece, haga clic en el icono de engranaje en la parte inferior derecha.

  3. Marque la casilla de verificación 'Deshabilitar caché' en la sección Red.

14
Mason

Utilizando Ctrl+Shift+R Para refrescarme fue agradable pero no conseguí todo lo que necesitaba. todavía algunas cosas no se actualizan, como los datos almacenados en js y css. encontré una solución: a barra de herramientas de google para desarrolladores web de chrome . Después de instalar la barra de herramientas, seleccione las opciones y "restablecer página".

14
tomermes

Deshabilitar el caché en Chrome solo funciona cuando tienes herramientas dev abiertas

13
jamiethepiper

Hasta que se solucione el error, puede utilizar Borrar caché complemento de Chrome y también puede configurar un método abreviado de teclado para él.

Después de instalarlo, haga clic derecho y vaya a opciones:

enter image description here

Compruebe Automatically reload active tab after clearing data:

enter image description here

Seleccione Everything para Período de tiempo:

enter image description here

Y luego puedes ir a Menú => Herramientas => Extensiones:

enter image description here

Haga clic en los atajos de teclado en la parte inferior:

enter image description here

Y configura tu atajo de teclado, por ejemplo Ctrl + Shift +R:

enter image description here

12

En realidad, si no le importa usar el ancho de banda, es más seguro por múltiples razones para deshabilitar el almacenamiento en caché y es recomendado por muchos sitios de seguridad.

Chromium no debe ser lo suficientemente arrogante como para tomar decisiones y hacer cumplir las configuraciones de los usuarios.

Puede deshabilitar el caché en UNIX con --disk-cache-dir =/dev/null.

Como esto es inesperado, pueden ocurrir bloqueos, pero si lo hacen, entonces eso indicará claramente un error más grave que debería solucionarse en cualquier caso.

8
Kevin Chadwick

Esto podría ayudar a alguien.

He manipulado mi Nginx para el almacenamiento en caché loco. Por lo tanto, deshabilitar el caché en las herramientas de red y borrar explícitamente el caché no funciona.

Una solución muy simple pero aburrida es, acabo de abrir una nueva pestaña de incógnito. ¡Sorprendentemente funciona, todo el tiempo!

Una actualización difícil en modo de incógnito hace el truco cada vez que deseo volver a cargar en el mismo modo.

6
Rexford

¿Qué tal un bookmarklet que cambia el nombre de la página para evitar que la página se almacene en caché? En Chrome, crearías un nuevo marcador y luego pegarías el código en la URL. Haga clic en el marcador y la página se volverá a cargar con la marca de tiempo para frustrar el caché.

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();
5
mbokil

Acabo de quedar atrapado, pero no necesariamente debido a Chrome.

Estoy usando jQuery para hacer AJAX solicitudes. Tenía el atributo de caché establecido en verdadero en la solicitud:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

Poner esto en falso solucioné mi problema pero esto no es ideal.

No tengo idea de dónde se guardan estos datos, pero sí sé que Chrome nunca llegó al servidor para realizar una solicitud.

4
DynamicDan

Hay una forma mejor y más rápida ahora (Chrome versión 59.x.x.):

Haga clic con el botón derecho en el ícono de recarga (a la izquierda del campo url) y obtendrá un menú desplegable, seleccione la tercera opción: 'vaciar caché y recargar duro'.

Esta opción solo está disponible cuando las herramientas para desarrolladores están abiertas. (Observe la diferencia con la opción 2: 'Hard recargar' -cmd-shift-R). No hay caché vaciando aquí!

4
Luftwaffle

Hay una extensión de Chrome disponible en la tienda web de Chrome llamada Borrar caché .

Lo uso todos los días y creo que es una herramienta muy útil. Puede usarlo como un botón de recarga y puede borrar la memoria caché y, si lo desea, también las cookies, el almacenamiento de configuración regional, los datos de formularios, etc. También puede definir en qué dominio ocurre esto. Así que puedes limpiar toda esta mierda con solo el botón de recarga que de todos modos tienes que presionar - en los dominios elegidos.

¡Muy, muy agradable!

¡También puede definir un atajo de teclado para esto en las opciones!

Otra forma es iniciar la ventana de Chrome en modo incógnito. Aquí el caché también debe estar completamente deshabilitado.

3
chris

Otra opción para deshabilitar la memoria caché la proporciona mi tercera extensión de Chrome Page Size Inspector que desactiva la memoria caché exactamente de la misma manera que Devtools.

Además, la extensión informa rápidamente el tamaño de la página, el uso del caché, las solicitudes de red y el tiempo de carga de una página web de manera conveniente. Además de su código abierto en Github .

 Screenshot - Page Size Inspector

2
Tomi Mickelsson

Tuve el mismo problema, lo intenté:

  • Control Shift R,
  • Deshabilitar el caché en F12
  • Control F5.

Luego descubrí que el uso de un manifiesto .appcache para un sitio que no sea https está en desuso . Quité mi archivo site.appcache y su referencia en la etiqueta html y ahora estoy viendo la última versión de cada página.

2
Ole EH Dufour

Si está utilizando ServiceWorkers (por ejemplo, para aplicaciones web progresivas), es probable que tenga que marcar "Actualizar al recargar" en Aplicación> Trabajadores de servicio en herramientas de desarrollo también.

enter image description here

2
Bob

No estoy seguro de lo que está utilizando, pero si está utilizando ASP.Net, puede hacer lo siguiente, que funciona como un encanto:

<link href="@Url.Content("~/Content/Site.css")[email protected]" rel="stylesheet" />

Básicamente, agregará automáticamente la Fecha y la Hora al final del archivo cada vez que se ejecute, lo que significa que, dado que el nombre del archivo es técnicamente diferente, nunca tendrá que preocuparse de que se vuelva a almacenar en caché.

2
MattE

¿Cómo puedo deshabilitar el caché temporalmente o actualizar la página de forma que pueda ver los cambios?

No está claro a qué "caché" se refiere. Hay varios métodos diferentes que un navegador puede almacenar en caché de forma persistente. Almacenamiento web siendo uno de ellos, Cache-Control siendo otro.

Algunos navegadores también tienen una Cache , utilizada junto con Service Workers , para crear aplicaciones web progresivas (PWA) que brindan soporte sin conexión.

Para borrar el caché de un PWA

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

para listar los nombres de las claves de caché, luego ejecute:

self.caches.delete('my-site-cache')

para eliminar una clave de caché por nombre (es decir, my-site-cache). A continuación, actualice la página.

Si ve algún error relacionado con el trabajador en la consola después de la actualización, es posible que también deba cancelar el registro de los trabajadores registrados:

navigator.serviceWorker.getRegistrations()
  .then(registrations => {
    registrations.forEach(registration => {
      registration.unregister()
    }) 
  })
1
Josh Habdas

Oye, si tu sitio usa PHP luego coloca el siguiente pequeño PHP fragmento de código al comienzo de tu página html:

   //dev versioning - stop caching
   $Rand = Rand(1, 99999999);

Ahora, en todas partes donde se cargan recursos como archivos CSS o JS en un script o elemento de enlace, agrega el valor aleatorio generado a la URL de solicitud después de agregar '? a la URI a través de PHP:

    echo $Rand;

¡Eso es! Ya no habrá ningún navegador que almacene en caché su sitio, independientemente de qué tipo.

Por supuesto, elimine su código antes de publicar o simplemente establezca $ Rand en una cadena vacía para permitir el almacenamiento en caché nuevamente.

0
Torsten Barthel

He usado las otras opciones descritas anteriormente, pero creo que lo mejor es agregar el siguiente parámetro al inicio de chrome.exe.

"C:\Archivos de programa (x86)\Google\Chrome\Application\chrome.exe" --disk-cache-size = 1 -media-cache = 1

Me parece que no deshabilitar el caché de medios es una buena idea, pero está aquí para completar la información.

En realidad, quiero una opción para deshabilitar completamente la memoria caché, para usar la memoria para IO en lugar de mi disco (¡lo que haría que la carga sea 10 veces más rápida también!) Pero no creo que Chrome o ningún navegador Ese asunto tiene esa opción todavía.

0
Ahmed

El asesino de caché de Chrome es, con mucho, la mejor opción. Dado que la URL de la tienda para instalar el caché killer está inactiva, puede descargar el archivo CRX aquí:

https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

una vez descargado el archivo de extensión, abra Chrome -> más herramientas -> extensiones, luego arrastre el archivo CRX desde el Explorador de archivos o su escritorio (dependiendo de la ubicación donde descargó el archivo) en la ventana de Chrome para instalar la extensión.

0
BernieSF

Me encontraba en una situación en la que el navegador cargaba los datos de la caché del disco, incluso si lo había comprobado desactivado (estaba usando Chrome). Todos mis css y js se estaban cargando desde el servidor pero no la página web. Esto estaba pasando tanto en mi local como en la producción.

Para solucionarlo, necesito poner un parámetro adicional en mi URL para forzar al navegador a obtener la página web desde el servidor, incluso el controlador no la necesitaba.

Estaba usando ASP.Net, así que aquí está mi ejemplo

//Controller function
public ActionResult Index()
    {
        return View();
    }
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

El resultado es que generará un enlace como: http://www.myweb.com/Home/Index?ts=636558555408282209

Esta es mi situación y solución. Ojalá pudiera ayudar a alguien.

0
Jansen

Desde la versión 50 (si recuerdo bien), la opción "Deshabilitar caché" se eliminó de la Configuración de Devtool. Vaya a la pestaña "Red" y encontrará la opción "Deshabilitar caché".

0
boi_echos

Agrega esta cadena de código a tu y debería hacer el truco.

<meta name="robots" content="noarchive">
0
Hossein Hajizadeh

Utilizo (en Windows), ctrl + shift + delete y cuando aparece el diálogo de Chrome, presione la tecla enter. Esto se puede configurar con lo que se debe borrar cada vez que ejecute esta secuencia. No es necesario tener dev. Herramientas abiertas en este caso.

0
santon