关于网页中缓存swf的问题
来源:互联网 发布:做网站是否用数据库 编辑:程序博客网 时间:2024/05/21 17:02
大家都知道浏览器会自动缓存网页中的swf文件,这样网页刷新后不需要再次加载这个文件,减少了对服务器的请求,加快了网页开启的速度。。。随然好处是不言而喻的,但有时也会给我们带来一些麻烦。
比如,为了效果,网页的导航是用FLASH来做的,即然是导航,免不了要加链接跳转。
导航中新闻栏目下有两个子栏目:
“公司新闻”,链接为http://87cool.com/news/newsList.aspx?type=1,
“业内新闻”,链接为http://87cool.com/news/newsList.aspx?type=2,
在newsList.aspx页面中,使用Request.QueryString["type"]获取URL中传过来的参数type,然后决定是显示"公司新闻"还是"业内新闻"。
OK,场景布置完毕了,接下来说明flash导航缓存后会导致的问题:
当第一次点击flash导航中的"公司新闻"时,newsList.aspx页面中Request.QueryString["type"]的结果是1,然后从数据库中读取所有"公司新闻"并显示出来。一切正常!!
当再次点击"公司新闻"时,问题出现了。。。newsList.aspx页面中Request.QueryString["type"]的结果是null,表示根本没有在URL中获取到type,type不存在,这样也就无法判断是要显示 "公司新闻" 还是 "业内新闻"。
是谁导演了这场杯 具呢?
没错,是浏览器!
那又是谁主演了这场杯 具呢?
没错,是缓存!
起初,我也是对这个问题百思不得其解,后来抓包分析,才恍然大悟。原来flash被缓存后,非第一次点击里面的链接,根本不会向服务器发送请求,也就是说再次点击"公司新闻"时,newsList.aspx的page_load根本不会执行。由此可以推断,FLASH里链接所指向的页面被执行一次后,也被缓存起来了。
知道了病根,就可以对症下药了。
既然被缓存了,那就清除缓存。虽清除缓存后会使页面加载的稍慢一点,然别无它法,就只能这样处理了。
在ASP.NET中清除缓存:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
或者
Response.CacheControl = "no-cache";
将以上任意一句加到page_load()里即可。
- 关于网页中缓存swf的问题
- swf浏览器的缓存问题
- 在网页中鼠标滚动的干扰swf问题
- 网页的缓存问题
- 关于网页缓存的探究
- 关于项目中图片缓存的问题
- 关于网页中乱码的问题
- 关于处理微信网页缓存问题
- 在firefox中获取网页里的SWF对象
- 网页中插入FLASH(swf文件)的html代码
- 网页中嵌入swf文件的几种方法
- 在firefox中获取网页里的SWF对象
- 网页中插入FLASH(swf文件)的html代码
- 网页中嵌入swf文件的几种方法
- 网页中嵌入SWF的几种格式
- 网页中嵌入swf文件的几种方法
- 网页中插入FLASH(swf文件)的html代码
- 网页中插入FLASH(swf文件)的html代码
- PHP导入导出Excel的方法小结 【转】
- 两种取得选中treeitem的方法
- ASP.NET对象
- php 计算时间 2010年第13周的第二天
- 网络层
- 关于网页中缓存swf的问题
- 大量编程带来的快乐和烦恼(转)
- Oracle零碎知识
- 实验作品成长记录:flash抽奖程序记录
- 药品生产批号与生产日期、有效期的关系
- 6种方法配置perl的@INC变量
- MFC中CImageList(图形列表控件)和CTreeCtrl(树形列表控件)的简单用法
- 神奇的select
- JSF入门