Bueno, después de que tuve algunos problemas en unos proyectos del trabajo, al parecer en algunas máquinas Mac y usando el Firefox se quedaba almacenado el cache del sitio y no se podían ver correctamente los cambios que se hacían al vuelo y el problema mas grabe era que al dar Logout no regresaba a la pagina de logueo.
Al principio pensé que era problema del código pero vi que era el navegador el que se resistía a eliminar el cache del sitio, por lo que busque como poder evitar que se guarde ese cache para todos los navegadores y así evitar cualquier futuro problema por esa cuestión.
La forma mas recomendada es utilizar estas 2 lineas de código en el header de nuestro código HTML:
<head>
...
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="expires" content="0">
...
</head>
- El parámetro Pragma es valido para la mayoría de los navegadores (puede no funcionar en IE), y se le menciona al navegador que no guarde nada para futuras visitas.
- El parámetro expires le dice al navegador que lo que tenga almacenado del sitio expira en 0 segundos, lo que significa que cuando vuelva a entrar deberá obtener lo mas nuevo.
Espero les sirva para cualquier proyecto que esten realizando y puedan evitar los problemas que tuve yo por no validar a tiempo que no se utilice cache alguno para estos proyectos.
Muy bueno!!!, eso me pasó hace poco con Firefox, a pesar de que le daba limpiar el caché, tenía que preguntarle a los demás o bajar a la compu de escritorio cuando realizaba un cambio mi página porque no se mostraba en la mía jaja.
Si la verdad es algo muy tedioso, en mi máquina se ven rápidos los cambios, pero me pasa mas que donde están haciendo las pruebas no se les actualiza bien de ves en cuando, hasta ahora que me puse a leer encontré la solución al maldito cache del navegador. :biggrin:
cita:
El parámetro Pragma es valido para la mayoría de los navegadores (puede no funcionar en IE)
exacto a mi no me funciona en IE 🙁 y en verdad necesito que no se me guarde el cache en el IE, saben de otra solucion?
hola, disculpen, yo hago pruebas con internet explorer 10, y no veo que se cachee imagenes ni nada, en que versiones de navegadores se cachean las paginas? o bajo que circunstancias, gracias y saludos
Casi siempre afecta cuando se entra directamente a algún sitio (sin refrescar o actualizar) y si en el sitio se modifico una imagen (sin alterar el nombre de archivo), se puede visualizar la versión anterior y se puede solucionar con un simple F5 (actualizar).
Al desarrollar un sitio es raro ver o notar esos errores ya que uno se la puede pasar refrescando la pagina una y otra vez y eso hace que se descargue el contenido de nuevo, pero un usuario final solo podría notar que el sitio se ve raro o diferente si tiene almacenado cache antiguo.
ok happy, ya lo evidencia, que ocurre cuando accedemos a una web directamente, y sin hacer F5, pero te comentare que probe el codigo que propones y no me funciona, mi caso es que tengo links a pdf en el mismo server, y si estos pdf cambian de contenido, usando tu codigo no se ve los pdf actuales, alguna sugerencia?
Puedes probar a cambar «Pragma» por «Cache-Control» y ver si te funciona, te recomiendo leer mas sobre los tags meta, te dejo un enlace que puede ayudar: http://www.i18nguy.com/markup/metatags.html
happy, proble el siguiente codigo que me parece mas complero, pero no funciona para el caso que te describi de los pdf accedidos desde links en mi web, que otra alternativa sugieres?
el codigo que probe es:
meta http-equiv=»Expires» content=»0″
meta http-equiv=»Last-Modified» content=»0″
meta http-equiv=»Cache-Control» content=»no-cache, mustrevalidate»
meta http-equiv=»Pragma» content=»no-cache»
Si los PDFs son un link directo al archivo, no puedes hacer nada al respecto con los tags meta, si se almacena o no en cache, depende del navegador utilizado.
Podrías utilizar PHP para mostrar el contenido de los PDFs y agregando al inicio el header de «Cache-Control» para que no se almacene en cache el contenido del PDF.