在IE中,在html头中设置了 <HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 元标记时,Web 页仍可能缓存在 Temporary Internet Files 文件夹中。
原因是IE的机制64 KB 缓冲区在达到一半被填满时,会缓存 Internet Explorer 正在浏览的页面。通常情况下,元标记插入到 HTML 文档的标头部分,这部分出现在文档的开头。解析 HTML 代码时是从头到尾读取代码的。当读取 <HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 元标记时,Internet Explorer 检查此时缓存中是否存在该页面。如果存在,则将其删除。但是在其后如果页面大小又大于32K时,IE即有可能缓存。因此在头设置NO-CACHE可能是无效的。
解决方法:
在页面文件的尾部也加一下,这样在从头到尾解析到最后时,如果缓存了页面,那么就将页面的缓存删除。
<HTML>
<HEAD>
<META HTTP-EQUIV="REFRESH" CONTENT="5">
<TITLE> Pragma No-cache </TITLE>
</HEAD>
<BODY>
该示例说明应该在哪里放置第二个标头部分,<br>
以使“Pragama, No-Cache”元标记按预期的那样工作。<br>
</BODY>
<HEAD>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</HEAD>
</HTML>