Evitar cache en hojas de estilo

Creo que de esto ya he hablado alguna vez, aunque me referí a ello como evita la cache en páginas web estáticas y dinámicas.

En aquel caso proponía una forma dinámica para generar números aleatorios que pasados como parámetros a un fichero provocaba que el navegador lo interpretase como un documento diferente y evitara usar la cache para cargarlo de nuevo.

Hasta ahora este ha sido el único método que me ha funcionado tanto para cargar hojas de estilo como ficheros javascript.

<link rel="stylesheet" href='estilos.css?rand='+Math.random(); />

Se comenta que añadiendo unas cabeceras para forzar la cache podemos conseguir el mismo efecto, pero por más que he probado, no me ha dado resultado.

Yo, que estoy acostumbrado a trabajar con PHP suelo utilizar, más que hacerlo con la librería Math de javascript, el time() de PHP.

<link rel="stylesheet" href="estilos.css?rand=<?php echo time(); ?>" />

Si aún así no lográis ver los nuevos ficheros, la única solución sería navegar directamente al fichero y pulsar control + f5 para forzar la recarga.

Artículos relacionados



Comentarios en Evitar cache en hojas de estilo

Hay 4 Comentarios en el artículo Evitar cache en hojas de estilo, ¿a qué esperas para dar tu opinión?


  1. Jep Aribau dice:

    Poner un aleatorio cómo parametro, hace que se descarge el .css en cada petición de página.

    To hago esto:

    <link href="www.dominio.com/css/default.css?” rel=”stylesheet” type=”text/css” />

    Me incluye la fecha cómo parametro en el css:
    http://www.dominio.com/css/default?200907020152

    Asi cuando el archivo se ha modificado, se pide el nuevo archivo, y cuando no se ha modificado, este sólo se tiene que descargar una vez, y en las próximas cargas de página ya estarà en la cache del navegador.

  2. Jep Aribau dice:

    Parece que el código php no lo coge los comentarios:

    filemtime($_SERVER['DOCUMENT_ROOT'].’/css/default.css’);

Deja un comentario