Pregunta

¿Hay alguna forma de determinar u obligar a que un archivo CSS se vuelva a almacenar en caché si el usuario está utilizando un archivo antiguo?

¿Fue útil?

Solución

La forma más segura de garantizar que todos vuelvan a cargar su nuevo archivo es cambiar su URL. Una forma razonable de hacer esto sin renombrarlo es agregar una cadena aleatoria:

<link rel='stylesheet' href='/mystyles.css?random=87365835'>

Eso está usando un mazo para romper una tuerca, y eludiendo todos los mecanismos HTTP que existen para hacer esto, pero funcionará absolutamente en todas partes, mientras que las otras técnicas tienen advertencias.

Editar: @jitter: no tiene que cambiar la URL automáticamente para cada solicitud; puede basarla en la marca de tiempo del archivo CSS, o incluso simplemente cambiarla manualmente cuando desea asegurarse de que el CSS se vuelva a cargar.

Otros consejos

Puede intentar editar el servidor etags: http://developer.yahoo.com/performance/rules.html#etags

Pero el método preferido es cambiar el nombre de su archivo CSS, como la fecha o el número de compilación, para que los usuarios siempre tengan la última versión.

Verifique esta solución en lugar de usar xx.css? rand = 213213213

¿Cuál es una manera elegante de obligar a los navegadores a recargar archivos CSS / JS en caché?

O google para " auto versionado " además de agregar javascript o css. O " versión automática de activos "

Utiliza un enfoque automático que cambia la ruta de la parte URL no agregando variables get.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top