我们在用Flex开发应用的时候,每次修改了swf,上传到服务器后,测试都需要清空缓存。这样很麻烦,另外如果以后版本更新了,但是用户没有清空缓存的话仍然看不到最新版本。所以在这里说一下解决方案。
其实这都是因为缓存的问题,大家都知道,Flash插件也使用与HTML页面类似的方法缓存swf文件,节省我们每次导入swf文件的时间,这是个很好的策略,但是对于我们有新版本swf文件发布的时候,这个缓存的机制就不怎么可爱了,swf中有没有什么特别的参数可以不缓存,而且对于Flex这样的胖客户端,不缓存对于用户体验也是不利的,这可如何是好?!
还好问题还是有解决的办法的,我们可以从缓存的根本下手,一般缓存都是基于URL的,也就是说对同一个URL的访问,有一个缓存的机制在这里,而对于不同的URL,也就必须读入新的swf重新缓存了。
具体解决方案如下:
1.在Flex的模板文件夹下面的index.template.html文件是最终生成html的模板文件,修改这个页面的缓存方式为“不缓存”(因为html页面的数据不大,所以每次都读取Server中的内容是可以容忍的)。在此文件的<head></head>之间加上如下代码:
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
注意:<head></head>之间原有的代码不要修改!
2.修改AC_OETags.js文件。在此文件中找到AC_FL_RunContent这个方法,这个方法会调用AC_GetArgs方法,AC_GetArgs方法的第二个参数默认是".swf"。将这个参数修改为".swf?ver=1.0"。问号后面的参数不是固定的,可以自己随便起,目的就是把url区分开,从而达到用户每次请求看到的都是最近版本的目的。
以上两步做好之后编译保存,如果以后swf文件被修改了,只需要修改服务器上的AC_OETags.js文件就可以了。修改方法按照第二步操作。
分享到:
相关推荐
flex3 客户端缓存 module 解决方案 swf文件缓存
解决Flex开发的swf服务器端最新版本,客户端IE浏览器需要手动设置,才可以显示服务器端最新的SWF版本问题
Flex性能,内存管理和对象缓存,玩Flex的朋友可以看看。
这是几个常见的问题: 1.安全域问题,3.粘包问题 4.中文问题。
自已修改的。所有集成到一个bas模块里面,调用只调用一句就行,实现没有窗口,无介面,零打扰的清理IE缓存。带整个工程。
flash 缓存清理工具 用于 flash flex开发 经典工具
能够清除flex视频缓存,提高播放效率,提高用户的体验度
利用ActionScript3.0实现的仪表控件源码
Symfony Flex的自托管服务器,可为官方端点提供私有配方,自定义配方和缓存功能。 这不是SensioLabs或Symfony核心团队的官方项目。 产品特点 私人食谱:通过服务器,即使使用Satis或Private Packagist,您也可以将...
Flex 加载 Module 模块开发 利用客户端缓存 Module 降低交互时间 这是一个DEMO
flex4+openscale2.0+geoserver开发说明,里面有如何使用geoserver发布shp的地图及怎么使用缓存和怎么使用PostgreSQL存储shp文件数据......
Symfony Flex PhpFastCache捆绑包 :warning: 请注意,V3是PhpFastCache捆绑包的主要更新(不符合BC标准)! 从V3开始,该软件包绝对与以前的版本不兼容。 为了确保最顺畅的迁移,请查看Resources / Docs目录中的...
网址加载器缓存 它是一个带有 url 加载器的队列和缓存,就像 Flex 4.5 中的“spark.core.ContentCache” 问题是 ContentCache 仅适用于 Loader,因此您不能将其用于文本或 bin 数据加载。 Loader 只提供图像文件。 ...
用法安装依赖项npm install 安装完成后,您可以在项目文件夹中运行一些命令: npm run build 要注意更改: npm run watch 另外,如果您希望在每次构建时都运行该插件: npm run start开发环境删除草图插件缓存: ...
图像弹性一种强大、安全且易于部署的图像大小调整服务,可在“边缘”动态调整大小、优化和缓存图像,基于 AWS 无服务器技术构建。 由通过。 在上执行。 由支持。 受保护。 通过。 由 CLI 构建和部署。 如果图像请求...
用于在flex中缓存加载swf文件。 可用于组件模块化加载。加载完成的组件,下次加载可直接从SWFCache中根据url获取相应内容,避免重复加载 单个加载方式 var item:SWFItem = new SWFItem(); item.url = "module/...
介绍扫描器的环境和最小的扫描器多输入缓存如何操作双输入源;如何从 string 而不是文件进行扫描文件结束符规则匹配输入的结束符的特殊的规则各种宏动作可以使用的
针对缸压数据大流量的特点,对Flexray总线进行了优化设计,并通过软件实现了双缓存机制,保证 缸压数据能够实时传输;通过CANoe把Flexray总线上的缸压数据进行实时储存,并利用Matlab对缸压数据进行 离线分析。在1...
OC下的Flexbox(移动端最优布局方式)、UITableViewCell自动缓存布局、默认像素对齐实现等等,和React Native一样基于facebook开源的css-layout实现。 以下是简单的示例: 下载地址: ...
115提供的那个不知道怎么回事,我一直下不下来,后来在论坛找到了但是书签很乱,重新整理了一个书签,顺手删除了一个广告页。 1. 准备开发环境 ...13. 图片缓存 CSS Sprite 14. 本地化 15. 其他高级功能