Flex服务器swf 更新后,客户端不需要清空缓存即可查看最新版本
2012-10-08 08:21
344 查看
转自:/article/4008038.html
我们在用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文件就可以了。修改方法按照第二步操作。
我们在用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文件就可以了。修改方法按照第二步操作。
相关文章推荐
- swf 更新后,客户端不需要清空缓存即可查看最新版本
- Flex swf 升级后,客户端不需要清空缓存即可查看最新版本的使用说明
- swf 更新后,客户端不需要清空缓存即可查看最新版本
- swf 更新后,客户端不需要清空缓存即可查看最新版本
- Flex的swf升级后,客户端不需要清空缓存即可访问最新版本
- 现在很多的手机应用,都可能会直接嵌入一个web页面。这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端;另一个是功能通用,不仅Android可以用,iOS也可
- 检查APK版本并更新(服务器和客户端一起来)
- maven 依赖模块最新版本查看更新命令。
- linux服务器命令-查看文件大小,服务器与本地之间的文件拷贝,大log文件清空(保持更新)
- 检查APK版本并更新(服务器和客户端一起来)
- 软件升级公告:最新版本V1.2.05.115 更新日期2011-9-18 有需要升级的朋友可以到服务器上下载
- 检查APK版本并更新(服务器和客户端一起来)
- 将Visio文件装换成HTML文件(在服务器上转换,客户端无需安装visio即可查看)
- TortoisSVN 客户端软件 在 更新(update) 前 线查看 服务器与本地文件 的 不一致(diff) 后,再有选择的更新
- 安装svn客户端和vs2012的svn插件之后,在项目右键菜单里没有“更新项目至最新版本”和“提交项目变更”选项
- SmartCVS笔记-从远程仓库更新最新版本的文件以及查看文件的历史版本
- npm命令,查看当前npm版本,更新nmp到最新版本,安装sails
- 上线项目更新版本后如何避免客户端js和css缓存
- 查看ADT版本,安装、卸载、更新eclipse中的ADT
- 最新Flex IRC客户端国内首发,正在完善中