不从缓存中读取图片使用下面的代码都无效
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",-1);
%>
可以在后面加参数使得图片不从缓存中读取
<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> |