Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

[Solucionado] Borrar cache navegador

26 de octubre de 2016

Estimados.

Tengo una aplicación en Symfony 2.1 que funciona en una red interna. Se le realizo un actualización de la interface. El problema es que los navegadores tienen en la cache la altigua version, causando que se vea en algunos casos una unión de ambos estilos.

Habrá una forma obligar que se limpie la cache del navegador.

Ahora estoy utilizando esto para que se vea correctamente, pero causa algunos problemas como que algunos momento la pantalla quede en blanco un par de segundos.

<script type="text/javascript">
        window.onload = function() {
    if(!window.location.hash) {
        window.location = window.location + '#cchh';
        window.location.reload();
    }
}
    </script>

Me podrían orientar.


Respuestas

#1

Symfony incluye la solución a este problema desde su versión 2.0, así que podrás utilizarlo en tu proyecto. La idea es usar la opción de configuración assets_version tal y como se explica en este artículo.

Básicamente la idea es que Symfony añade el número de versión a los archivos CSS y JavaScript (e.g. /css/estilos.css?version=1). Cuando actualizas la interfaz de la aplicación, cambias el valor de la opción assets_version y así Symfony ahora enlazará por ejemplo a /css/estilos.css?version=2 Como la URL es diferente, el navegador no lo tiene en la caché y todo funciona bien a la primera sin tener que hacer ninguna cosa rara.

@javiereguiluz

27 octubre 2016, 9:13
#2

Gracias.

¿Esto afecta solo a los archivos?

y

¿Qué pasa con los CSS o JS que están directo en las plantillas?

@dariongg

28 octubre 2016, 15:44
#3

No entiendo muy bien tu último comentario. Pero el valor de assets_version se aplica a cualquier asset que se enlace con la función asset()de Twig, por lo que se puede utilizar para archivos CSS, JavaScript, fuentes web, imágenes, etc.

@javiereguiluz

28 octubre 2016, 15:46