Deshabilitar caché al cargar archivos dinámicamente desde Flash

Deshabilitar caché al cargar archivos dinámicamente desde Flash

Etiquetas: loadMovie movieClipLoader Loader

Si cargamos un archivo de forma dinámica en Flash (ya sea en Actionscript 2.0 por medio de loadMovie o movieClipLoader, o en Actionscript 3.0 por medio de un Loader o similar),veremos como el navegador cachea el archivo haciendo que la segunda vez y siguientes cargue "instantáneamente". Esto puede ser ventajoso en muchos casos, pero en sitios dinámicos puede ocurrir que el usuario no aprecie cambios realizados porque está viendo la versión cacheada en su navegador. También en fase de testeo es recomendable evitar la caché, para hacernos una idea de cuál es el tiempo real de carga de la web. La manera de evitar caché, es añadiendo una variable con valor aleatorio a la url del archivo que vamos a cargar, ya sea por medio de random() (Actionscript 2.0) o Math.random() (Actionscript 3.0)

  1. //Esta seria la url del archivo que queremos cargar
  2.  
  3. var url:String = "http://www.esedeerre.com/imagen.jpg";
  4.  
  5.  
  6. //Si queremos prevenir caché, podemos añadir una variable con valor aleatorio a la url, para que la url siempre sea "distinta"
  7. //y el player no cachee el archivo
  8.  
  9. var url:String = "http://www.esedeerre.com/imagen.jpg?nocache=" + random(1000) ;
Comentarios
    • Autor
    • fghd
    dghdgh
    • Autor
    • flashero con sombrero
    Hola, programando con Flash 9 y ActionScript 3, aparece el error: Llamada a un método random posiblemente no definido. Según el (maldito Adobe) flash, el CS3 no admite random de la manera simple, ahora se tiene que hacer mucho más dificil para joder a los pobres programadores como yo. Viva Macromedia!!! Abajo Adobe!!!
    • Autor
    • Manolito
    Una vez mas esta web me ha sido de gran ayuda SDR. Gracias por compartir estos "truqillos"
    • Autor
    • AS3 programador
    Hola Flashero con sombrero, utiliza el Math.random() de la siguiente forma, es un poco diferente a random, Math.floor(Math.random() * (10000 - 1 + 1)) + 1) esta formula nos devuelve un numero entero entre 10000 y 1, ok. la función de random() da problemas en versiones nuevas de flash quizas ese sea tu problema.
    • Autor
    • AS3 programador
    Hola Flashero con sombrero, utiliza el Math.random() de la siguiente forma, es un poco diferente a random, Math.floor(Math.random() * (10000 - 1 + 1)) + 1) esta formula nos devuelve un numero entero entre 10000 y 1, ok. la función de random() da problemas en versiones nuevas de flash quizas ese sea tu problema.
    • Autor
    • afortunado
    Sos un maestro!!! un dios!!!
    • Autor
    • juan garcia
    Hola alguien podria decirme como se pone ese codigo en que parte del flash gracias. y me sale el bendito mensaje error de sintaxis se espera un rigthparent antes de semicol ayuda gracias
    • Autor
    • juan garcia
    Hola aun no hay respuesta, entonces para que diablos hacen estos mini foros? por que putas son tan egoistas y no comparten información en tiempo real?
    • Autor
    • Alejandro Morán
    Muchisimas gracias por la ayuda, poniendo el ?nocache=true me ha funcionado:P
Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: