当前位置:编程学习 > C#/ASP.NET >>

ie缓存的解决方法

http://www.x.com/dd.html这是个静态html文件,用ie打开它后,会缓存它,而当我修改了服务器的dd.html文件内容后,刷新ie,看不到修改后的内容。很纠结。

我希望dd.html文件未修改时,ie使用自己缓存的页面,而当dd.html文件被修改后,ie能拿到新的页面,怎么实现? --------------------编程问答--------------------

?num=' + Math.round(Math.random() * 10000)
--------------------编程问答-------------------- 加个随机参数传过去,可去缓存 --------------------编程问答--------------------
引用楼主 liyoubaidu 的回复:
http://www.x.com/dd.html这是个静态html文件,用ie打开它后,会缓存它,而当我修改了服务器的dd.html文件内容后,刷新ie,看不到修改后的内容。很纠结。

我希望dd.html文件未修改时,ie使用自己缓存的页面,而当dd.html文件被修改后,ie能拿到新的页面,怎么实现?


晕!

你认为凡是刷新,都不去访问web服务器么?你首先要证明,ie从来不访问web服务器上的新页面。 --------------------编程问答-------------------- 在 html 的 head 里,加上:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1"> --------------------编程问答--------------------
引用 3 楼 sp1234 的回复:
引用楼主 liyoubaidu 的回复:
http://www.x.com/dd.html这是个静态html文件,用ie打开它后,会缓存它,而当我修改了服务器的dd.html文件内容后,刷新ie,看不到修改后的内容。很纠结。

我希望dd.html文件未修改时,ie使用自己缓存的页面,而当dd.html文件被修改后,ie能拿到新的页面,怎么实现?


晕!

你认为凡是刷新,都不去……


不解。 --------------------编程问答--------------------
第一种是ASP.NET清除页面缓存   
            Response.Buffer = true;
            Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
            Response.Expires = 0;
            Response.CacheControl = "no-cache";
            Response.AddHeader("Pragma", "No-Cache");

第二种是HTML方法
        <HEAD>
        <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
        <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
        <META HTTP-EQUIV="Expires" CONTENT="0">
        </HEAD>   

第三种是重新调用原页面的时候在给页面传一个参数:    href="****.ASPX?random()"
最后一种是在在页面中禁用缓存
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,