我们需不需要浏览器缓存?
浏览器缓存,有时我们需要,有时我们不需要,就比如股票类型的网页就需要实时刷新数据,不能让页面从缓存里读取数据,如果对于一些不需要实时更新数据的网站来说,浏览器缓存可以提高加载速度,带来更好的用户体验,到底需不需要浏览器缓存,让我们自己操作!
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表单的缓存
from表单的缓存有助于我们输入的便捷性,但有时为了安全着想还是要清除缓存
<body onLoad="javascript:document.yourFormName.reset()">
jquery ajax清除浏览器缓存
直接添加cache:false,每次都向服务器动态请求最新数据
$.ajax({
url:'www.ndweb.com',
dataType:'json',
data:{},
cache:false,
ifModified :true ,
success:function(response){
//操作
}
async:false
});
随机数
向URL链接的最后拼接随机数,也能实现没有缓存,因为每次拼接的随机数不同,链接就是一个新的链接,就不会从缓存中读取.
?ran=" + Math.random()
随机事件
可以向URL链接的最末尾添加随机时间的时间戳,原理跟随机数一致.
?timestamp=" + new Date().getTime()
php方法
header("Cache-Control: no-cache, must-revalidate");//在服务端加,如php
1.在Ajax发送请求前加上 anyAjaxObj.setRequestHeader ("If-Modified-Since","0")
2.在Ajax发送请求前加上 anyAjaxObj.setRequestHeader ("Cache-Control","no-cache")
3.在URL后面加上一个随机数:"fresh"+Math.random;
4.在URL后面加上时间戳:"nowtime="+new Date.getTime;
5.如果是使用jQuery,直接这样就可以了
$.ajaxSetUp({cache:false}) 6.$.ajax("url",{cache:false,success:function{}})