前端清除缓存的集中方法

 1:meta标签

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
<meta http-equiv="expires" content="0">

2:清理form表单的临时缓存
<body onLoad="javascript:document.yourFormName.reset()">

3:ajax清楚浏览器缓存
用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:
    
$.ajax({
     url:'www.haorooms.com',
     dataType:'json',
     data:{},
     beforeSend :function(xmlHttp){
        xmlHttp.setRequestHeader("If-Modified-Since","0");
        xmlHttp.setRequestHeader("Cache-Control","no-cache");
     },
     success:function(response){
         //操作
     }
     async:false
  });

直接用cache:false,
$.ajax({
    url:'www.haorooms.com',
    dataType:'json',
    data:{},
    cache:false,
    ifModified :true ,
 
    success:function(response){
        //操作
    }
    async:false
 });


用随机数,随机数也是避免缓存的一种很不错的方法!
URL 参数后加上 "?ran=" + Math.random(); //当然这里参数 ran可以任意取了

方法四:用随机时间,和随机数一样。
在 URL 参数后加上 "?timestamp=" + new Date().getTime();


关于缓存问题:js清除缓存

1、一般手动清除,浏览器缓存

2、js代码清除缓存(原理:增加了一个参数,且该参数是一个随机数,每次都不一样,所以每次的请求参数都不一样,服务器会将其作为一个新的请求,重新返回结果,而不会使用缓存)

js文件:  路径后面加一个随机数如下:

<script src="lib/gMarker.js?random=120211"></script>

 css文件 <link rel='stylesheet' href='css/index.css?t=120224'>   加一个标识 强制浏览器重新加载此文件

图片文件: background:url(**.png?20150421) 加一个标识号,使图片不被缓存




posted @ 2021-09-23 16:44  泽泽生龙  阅读(1447)  评论(0编辑  收藏  举报