JS强制刷新页面、清除缓存刷新

清理网站缓存的几种方法

meta方法

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

清理form表单的临时缓存

<body onLoad="javascript:document.yourFormName.reset()">

jquery 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=" +newDate().getTime();

用php后端清理

在服务端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)


关于缓存问题: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) 加一个标识号,使图片不被缓存

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容