Tengo una aplicación Flex con varios módulos.Prevención del almacenamiento en memoria caché de la aplicación Flex en el navegador (módulos múltiples)
Cuando volví a desplegar la aplicación, descubrí que los módulos (que se implementan como archivos swf separados) se almacenaban en caché en el navegador y las nuevas versiones no se cargaban.
Así que probé el antiguo truco de agregar ?version=xxx
a todos los módulos cuando se cargan. El valor xxx
es un parámetro global que se almacena en la página HTML anfitrión:
var moduleSection:ModuleLoaderSection;
moduleSection = new ModuleLoaderSection();
moduleSection.visible = false;
moduleSection.moduleName = moduleName + "?version=" + MySite.masterVersion;
Además yo tenía que añadir a la ?version=xxx
.swf principal que se está cargando. Dado que esto se hace mediante HTML que tenía que hacer esto modificando el archivo de la siguiente manera mis AC_OETags.js:
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, ".swf?mv=" + getMasterVersion(), "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
todo esto está bien y funciona muy bien. Simplemente me cuesta creer que Adobe todavía no tenga una forma de manejar esto. Dado que Flex está siendo diseñado para diseñar aplicaciones modulares para empresas, me resulta especialmente sorprendente.
¿Qué hacen otras personas? Necesito asegurarme de que mi aplicación vuelva a cargarse correctamente incluso si alguien tiene once per session
seleccionado para su 'política de verificación de caché del navegador'.
derecha, pero encontrar una solución viable isnt fuera de su control. principalmente quiero asegurarme de que no me falta una función incorporada y reinventar la rueda. Específicamente, no deseo un número aleatorio porque quiero que la aplicación se guarde en la memoria cuando sea posible. –