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?
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.