url加时间戳避免再次请求当前路径出现的缓存问题

Posted Lamour99

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了url加时间戳避免再次请求当前路径出现的缓存问题相关的知识,希望对你有一定的参考价值。

url加时间戳避免再次请求当前路径出现的缓存问题

1.解释:在URL中加时间戳就会保证每一次发起的请求都是一个不同于之前的请求,这样就能避免浏览器对URL的缓存。

2.在html head引入一下代码:

<script type="text/javascript">
var timeTag = sessionStorage.getItem("time") || null;  
if(!timeTag) {  //判断sessionStorage是否存在时间戳,没有就给url添加时间戳,并保存起来
var arr = location.href.split('#/');
var timestamp=new Date().getTime(); //获取进入项目的时间戳
if( location.href.indexOf('?time=') != -1 ){  //判断sessionStorage没保存时间戳,但url有时间戳的情况,需要把url的时间戳转换成最新的,避免再次请求当前路径出现的缓存
var arr2 = location.href.split('?time=');
window.location.href = arr2[0] + '?time=' + timestamp + '#/' +arr[1];
}else {  //判断sessionStorage没保存时间戳,并且url没有时间戳的情况,时间戳加到url中
window.location.href = arr[0] + '?time=' + timestamp + '#/' +arr[1];
}
sessionStorage.setItem("time",timestamp)  //把当前进入项目的时间戳存起来
}
</script>

以上是关于url加时间戳避免再次请求当前路径出现的缓存问题的主要内容,如果未能解决你的问题,请参考以下文章

前端请求后台为啥要加时间戳

有的网站请求js的时候js后面加时间戳有啥作用

JS11清理缓存

Ajax系列之四:问题总结

xshell 7能不能给local窗口加时间戳?

高分求助:js缓存问题,急!