posts - 108,comments - 56,trackbacks - 0
   IE的缓存提高了网络传输的效率,但是有时候也给我们带来了麻烦,比如在某个模块的修改页面上,我们把其中的图片替换掉,但是图片的名字和原来的图片名字一样(比如为了方便管理和统一图片命名,每个物品对应的图片的名字都用物品的ID命名),只有的话因为缓存你修改后看到的图片还是修改前的图片。当时到网上取搜索了一下,把我的解决方法贴出来,希望对你有所帮助。下面两种方法我都测试过了。
 
   先说明一下,当时我使用下面的代码是没能解决问题的

   方法一:在后面加参数使得图片不从缓存中读取
<script>
document.write(
"<img src=<%=result.getPhoto()%>"+"?temp="+Date.parse(new Date())+" id='photo' width='120' height='120'/>" );
</script>

   方法二:光使用<META HTTP-EQUIV="Pragma" CONTENT="no-cache">是不起作用的,IE仍然会cache数据的。 通常IE在一页的数据没有满32K时它是不会缓存的。
如果把 no-cache 直接放在最前面的话,只要缓存中的数据没有到32K,当时ie是不会缓存的,但是当读过了no-cache标志,到了HTML其他部分时,如果数据超过了32K,IE仍然会将数据缓存起来。 这是由于IE分析一个页面的语法时是从上到下读取的,正确的方法如下:
<HTML> 
<HEAD> 
<META HTTP-EQUIV="REFRESH" CONTENT="5"> 
<TITLE> 标题 </TITLE> 
</HEAD> 
<BODY> 
   页面的其它部分。。。。。 
</BODY> 
<HEAD> 
  
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 
</HEAD> 
</HTML> 
posted on 2007-05-30 18:08 破茧而出 阅读(2008) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: