返回首页
当前位置: 主页 > 开发手册 > JS >

IE浏览器缓存与AJAX缓存

时间:2010-04-11 00:23来源:互联网 作者:网络 点击:
近期开发时采用AJAX, 在客户应用时发现一个问题:就是有时反应比较慢, 而且有时是旧内容. 经查询,总结网上写的一些缓存文章如下: *******************************************************************
  

近期开发时采用AJAX, 在客户应用时发现一个问题:就是有时反应比较慢, 而且有时是旧内容.

经查询,总结网上写的一些缓存文章如下:

***************************************************************************

文章一:本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cool_rain_man/archive/2008/04/03/2247708.aspx

两种方法
第一种:
模板上加上
<META   HTTP-EQUIV="pragma"   CONTENT="no-cache">  
<META   HTTP-EQUIV="Cache-Control"   CONTENT="no-cache,   must-revalidate">  
<META   HTTP-EQUIV="expires"   CONTENT="Wed,   26   Feb   1997   08:21:57   GMT">
强制刷新

第二种:
url加上随机数变量
url   =   "xxx.asp?"   +   Math.round(Math.random()*100)

***********************************************************************************************************************

文章二:网页出处:http://www.cnblogs.com/hacker84/archive/2008/03/03/1088514.html

第一种:在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random(); //当然这里参数 fresh 可以任意取了

第二种:在 URL 参数后加上 "?timestamp=" + new Date().getTime();
 

顺便说下,response.flush()的方法容易出问题~~~
 

******************************************************************************

文章三:IE缓存知识  网页出处:http://wenda.tianya.cn/wenda/thread?tid=78e536d29fa76460

什么是ie缓存
为了提高访问网页的速度,internet explorer浏览器会采用累积式加速的方法,将你曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里。这个存放空间, 们就称它为ie缓存。以后 们每次访问网站时,ie会首先搜索这个目录,如果其中已经有访问过的内容,那ie就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速度。

设置ie缓存大小:
要提高ie的访问速度,ie缓存是必不可少的。ie缓存默认安装在系统区,而且会需要占用较大的系统空间。所以如果你的系统空间的确很紧张,可以将缓存占用的空间设得小一点,在ie的“工具”菜单下选择“internet选项”,然后在“常规”选项卡中你会看到有“internet临时文件”这一项,单击“设置”按钮,然后在弹出的“设置”对话框中将缓存大小设置为一个合适的值。你也可以直接将ie缓存移动到其它位置上去。

“internet临时文件”下单击“设置”,然后在“设置”对话框中单击“移动文件夹”按钮,在“浏览文件夹”中选择文件夹,将ie缓存移动到其他地方,这样就不必担心ie缓存太大,占用更多空间了。

ie缓存就是上网后留下的痕迹。
可以删除。。删除后会加快浏览器的速度``
只有好处没坏处`

为了提高访问网页的速度,internetexplorer浏览器会采用累积式加速的方法,将你曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里。这个存放空间, 们就称它为ie缓存。以后 们每次访问网站时,ie会首先搜索这个目录,如果其中已经有访问过的内容,那ie就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速度。

如何删除?
1、点击打开一个ie。
2、点击菜单栏中的“工具”菜单中的“internet选项”
3、在弹出的对话框中点击“删除文件”.
4、在弹出的对话框中”删除所有脱机内容”打勾,之后点确定.
5、点击确定后,鼠标可能会变成比较忙的状态,这是因为缓存较多的缘故,一般情况下十秒左右鼠标就会恢复正常。之后再点击右下角的“确定”退出。这样电脑ie的缓存就清除完毕了。

另外还可以用windos优化大师删除

*****************************************************************************************

文章四:用ajax清除浏览器缓存的js、css、图片等 (来源:http://www.javaeye.com/topic/228187)

为了减小浏览器与服务器之间网络传输压力,往往对静态文件,如js,css,修饰的图片做cache,也就是给这些文件的HTTP响应头加入Expires和Cache-Control参数,并指定缓存时间,这样一定时间内浏览器就不会给服务器发出任何的HTTP请求(除了强制刷新),即使在这段时间内服务器的js或css或图片文件已经更新多次,但浏览器的数据依然是原来最能初cache的旧数据,有没有办法让浏览器拿到已经修改后的最新数据呢?

有,方法是用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:

  1. $.ajax({  
  2.     type: "GET",  
  3.     url: "static/cache.js",  
  4.     dataType: "text",  
  5.     beforeSend :function(xmlHttp){  
  6.      xmlHttp.setRequestHeader("If-Modified-Since","0");  
  7.    xmlHttp.setRequestHeader("Cache-Control","no-cache");  
  8.  
  9.     }  
  10.   });   

这里用了jquery.

这样浏览器就会把最新的文件替换掉本地旧文件。

当然,这里还一个问题就是js必须知道服务器更新了那个js、css、图片,利用cookie和时间版本应该可以解决.

******************************************************************************

下页是一些实例:

顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容

友情连接:(只接受IP>5000)
 DNF连发程序下载  威盘DNF连发  百宝箱DNF连发  DNF连发程序  DNF连发下载  DNF连发程序下载威盘  DNF威盘  DNF连发  连发  连发程序  连发程序 威盘  DNF连发程序威盘  百宝箱连发  DNF连发威盘  连发程序下载  连发百宝箱  DNF外挂  DNF双开工具下载  DNF双开