Blog what I write

Actualizar CSS evitando cache del usuario

post - - 5 replies -

En un momento dado podemos detectar varias mejora consecutivas en nuestro CSS. Las editamos y las subimos, luego refrescamos el navegador con la página y ya esta todo correcto.

Pero puede pasar que el usuario tenga su navegador configurado de una forma determinada, no realice ese refresco de página, y tenga el CSS almacenado en la memoria cache, por tanto seguirá viendo la página exactamente igual.

Una posible solución:

<link rel="stylesheet" href="http://aurea.es/style.css?nocache=" type="text/css" media="screen" />

De esta forma generamos por medio de PHP un número aleatorio (y diferente en cada acceso), con ello obligamos al navegador a que descargue siempre el CSS puesto que no se corresponde con el nombre guardado anteriormente.

Por razones de optimización en PHP he escogido esta función, es más rápida mt_rand() que rand().

Recordar también quitar este nocache=xxxxx cuando haya pasado el tiempo prudencial, para que la cache vuelva hacer su trabajo.

  • Yo suelo añadir la variable update con la fecha de la actualización: style.css?update=2802008.

    También dan problemas con la cache del navegador las actualizaciones de películas flash. La solición es la misma.

    Un saludo!

    • Buena idea Noel, con tu manera ahorras el procesado de PHP.

  • Muy práctico, si señor

    La última vez que renové el diseño de mi blog lo que hice fue cambiar la ruta de todas las hojas de estilo que utilizaba, pero evidentemente para esos pequeños cambios que le voy haciendo continuamente no había pensado en una solución tan sencilla como esta para que las hojas de estilo se actualicen en el caché sin que el visitante tenga que hacer clic en Actualizar.

    Muy interesante como siempre, un saludo!

  • Cómo va… excelente! me parece muy bueno, porque no hay que ir modificando la ruta del .css por cada modificación. Simple y funcional. Gracias!