Cristalab

Cómo cargar un css fuera del caché del navegador

Por: NEO_JP + 12.10.2006

La gran ventaja del css es separar el diseño del contenido, manteniendo todo dentro de un solo archivo externo de poco peso (.css) para que luego sea cargado directamente del caché ahorrandonos así ancho de banda y tiempo de carga en la web. Pero esto puede convertirse en una desventaja.

El problema principal es al ser cargado del caché, si una web tipo portal digamos cristalab, hace un ligero pero importante cambio en el mismo .css el usuario promedio que visita la web varias veces a la semana o día seguirá usando su misma versión del caché a menos que claro refresque (Ctrl-F5) o actualice el css.

Entonces, ¿Qué podemos hacer? Sencillo, "engañamos" al navegador.

<link rel="stylesheet" type="text/css" href="styles/cristalab.css?update=12102006" media="screen" />


La forma más fácil de engañar al navegador es modificando la dirección del css, agregandole una variable update con la fecha de la última actualización, 12-10-2006.

Uno puede agregar la variable que desee, por ejemplo ?V=1 o ?im=1337. Lo importante es que cambie cada que se ha creado un cambio para que el navegador piense que es otra hoja de estilo diferente y la cargue inmediatamente.

Espero les sirva, hasta el prox tip.

Etiquetas css

Comentarios | Enviar un comentario
oyte muchas gracias, justo andaba buscando esto cuando me tope con cristalab

me ayudaste muchisimo
Por: azuel_blog
Tenia la duda de que no validara, hice la prueba, y valida el css y xhtml en "XHTML 1.0 Strict", esta muy bueno el tip Muy Feliz
Por: Max
Solamente aplica para una CSS ?
Por: glsmaster

glsmaster :

Solamente aplica para una CSS ?
En IE funciona con imagenes, pero no en Firefox.
Por: Freddie
Esto me llena de ideas!, es posible que un archivo .css interprete una variable?
Por: Ana_blog

Anonymous :

Esto me llena de ideas!, es posible que un archivo .css interprete una variable?
\No, un .css no interpreta variables, es exactamente por eso que se puede enmascarar y engañar al navegador cliente. Pero puedes usar un .php el cual interprete variables por el metodo GET y darle un encode de text/css.
Por: neojp

neojp :

Ana :

Esto me llena de ideas!, es posible que un archivo .css interprete una variable?
\No, un .css no interpreta variables, es exactamente por eso que se puede enmascarar y engañar al navegador cliente. Pero puedes usar un .php el cual interprete variables por el metodo GET y darle un encode de text/css.
Osea, sí. Pero tienes que dar varias vueltas con PHP
Por: Freddie
no se como no se me habia ocurrido..... a veces me estanco en mis propias ideas


gracias
Por: Ana_blog

Anonymous :

no se como no se me habia ocurrido..... a veces me estanco en mis propias ideas


Daniel Mota (icebeat) creó hace tiempo un framework en CSS llamado CSSing, el cual quizás te ayude con esas ideas que tienes. Saludos.
Por: NEO_JP
Yo utilizo esa técnica con flash en un contador que utiliza txt y php, para que no muestre siempre el archivo txt de la caché.

Sonrisa
Por: Sisco
Pero con esa solución de la variable engañarás a los exploradores, pero DREAMWEAVER es muy listo y no se deja engañar fácilmente
Por: MON___

MON___ :

Pero con esa solución de la variable engañarás a los exploradores, pero DREAMWEAVER es muy listo y no se deja engañar fácilmente

Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo
Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo
Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo
Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo

por dios , que este me ha echo reir a mares

Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo
Por: FeNtO

FeNtO :

MON___ :

Pero con esa solución de la variable engañarás a los exploradores, pero DREAMWEAVER es muy listo y no se deja engañar fácilmente

Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo
Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo
Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo
Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo

por dios , que este me ha echo reir a mares

Riendo Riendo Riendo Riendo Riendo Riendo Riendo Riendo

JAAAAAAA!!!!!!!! Riendo muy bueno, definitivamente.
Aunque me reiría mas si dice lo que sucedió:
1)No le funcionó el CSS en DW.
2)Le tiro error en comprobación.

Explicamene, porfavor, para que pueda dormir feliz
Por: RattaMono
Sabeis si se puede pasar esa fecha de alguna forma como parametro?(me parece que no porque estas dentro de la etiqueta pero quizas existiese alguna forma de escape sin utilizar servidor a nivel cliente) para no tener que cambiar todas y cada una de las llamadas a css y a javascript.Un verdadero peñazo
Por: David_blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.