Necesito una forma de limpiar la caché actual o toda la caché del mismo dominio de origen a través de JavaScript, para asegurarme de que la actualización de mi aplicación web se realice sin errores.
Tampoco tuve éxito al cambiar temporalmente las etiquetas meta de caché en el encabezado HTML.
Solo en desktop y no automatizable: Ctrl + R. Solía funcionar para forzar la recarga y limpiar la caché. Ahora tienes que presionar Ctrl + Shift + R o Shift + F5.
Escribí mi propia solución alternativa de forceReload()
que funciona en Windows Chrome, Chrome para Android y Chromium:
window.forceReload = function() {
if (!window.fetch) return document.location.reload(true);
var els = document.getElementsByTagName("*");
for(var i = 0 ; i < els.length ; i++){
var src = "";
if (els[i].tagName == "A") continue;
if (!src && els[i].src) src = els[i].getAttribute("src");
if (!src && els[i].href) src = els[i].getAttribute("href");
if (!src) continue;
fetch(src, {cache: "reload"});
}
return document.location.reload(true);
};
Esta función solo recargará el contenido que se ha cargado en la página actual. Puedes activarla una vez en cada cliente después de que las nuevas actualizaciones estén en el servidor, o simplemente agregar un botón de actualización funcional en tu aplicación.
2 votos
¿Cómo está relacionado el botón de menú (o la falta de él)?
1 votos
@eldarerathis, vi un post en la red que sugería presionar el botón de la herramienta de actualización mientras se mantiene presionada la tecla de menú.
0 votos
Ah, interesante. No había escuchado eso antes.
2 votos
Relacionado en Stack Overflow: ¿Cómo puedo forzar una recarga fuerte en Chrome para Android.