Cache de flash(como evitar dolores de cabeza)
11 04 2008
La explicación
Se denomina “cache”(se pronuncia caché) a un “lugar”(puede ser memoria o disco) usado para conservar información que ha sido solicitada con anterioridad. En el caso que nos ocupa, usaremos el término para referirnos a cualquier información que haya sido pedida por la red y que, como ya la pedimos con anterioridad, no la volvemos a pedir en sucesivas llamadas, sino que utilizamos la información que ya tenemos.
Cuando navegamos por internet, muchas de las cosas que viajan por la red son almacenadas en este cache para acelerar la navegación. Generalmente se guardan los recursos mas pesados, como imágenes o archivos flash.
El contra que tiene esta técnica es que si estamos usando una aplicación web que necesita algún tipo de recurso actualizado al momento, podemos estar viendo información vieja.
Hasta hace poco yo conocía solo tres tipos de cache que afectan el trabajo de un desarrollador web. El cache de internet explorer(ya explicado), el cache del servidor web y el cache de base de datos(este ultimo muy poco común). Pero hace poco me encontré que el plugin de flash tambien tiene un cache de swf’s que utilizamos como recursos externos(es muy comun cargar un swf desde otro swf, piensen en un preloader).
La solución
En fin, lo que hacemos para cargar un swf y asegurarnos de que sea el último, le agregamos un signo de pregunta (”?”) y un número aleatorio generado en el momento a la url del securso que queremos cargar.
Ejemplo:
Si queremos cargar desde una película flash que hace de preloader el recurso:
“http://www.misitio.com/flash/mi_archivo.swf”
Este nos debe quedar de la siguiente manera
“http://www.misitio.com/flash/mi_archivo.swf?[numero_aleatorio]“
Donde numero_aleatorio es algún número generado mediante una llamada al método “Math.random()”.
Con eso evitamos que cualquier swf sea cacheado por el flash player.
Saludos!
Categorias : Tips







