我有一個帶有多個模塊的Flex應用程序。在瀏覽器中防止Flex應用程序緩存(多個模塊)
當我重新部署應用程序時,我發現模塊(作爲單獨的swf文件部署)正在緩存在瀏覽器中,並且新版本未加載。
所以我嘗試了所有模塊加載時加入?version=xxx
的古老技巧。價值xxx
是實際存儲在主機html頁面全局參數:
var moduleSection:ModuleLoaderSection;
moduleSection = new ModuleLoaderSection();
moduleSection.visible = false;
moduleSection.moduleName = moduleName + "?version=" + MySite.masterVersion;
此外,我需要添加?version=xxx
到已加載的主要瑞士法郎。由於這是由HTML做我不得不改變我的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);
}
這是一切優秀和偉大工程。我很難相信Adobe尚未有辦法解決這個問題。鑑於Flex正在爲企業設計模塊化應用程序,我發現它特別令人驚訝。
其他人做什麼?即使有人選擇once per session
作爲其「瀏覽器緩存檢查策略」,我也需要確保我的應用程序能夠正確地重新加載。
正確的,但要找到一個可行的解決方案的心不是他們的控制。主要是我想確保我不會錯過一些內置功能並重新發明輪子。我特別不想要一個隨機數,因爲我希望應用程序在可能的情況下被緩存 – 2008-11-19 19:33:48