js 给链接 url或href或js、css、图片等解决浏览器缓存
一、 添加时间戳
情况一、链接是常量
var rand = new Date().getTime(); var aLen=document.getElementsByTagName("a"); console.log(aLen.length); for (var a=0;a<aLen.length;a++){ var href = aLen[a].getAttribute('href'); document.getElementsByTagName("a")[a].setAttribute('href', href + '?' + rand); console.log(document.getElementsByTagName("a")[a].getAttribute('href')); }
情况二、链接是变量
rand = Math.random(); $('a').each(function(){ href = $(this).attr('href'); if (href.length == 0 || href.indexOf('javascript') > -1) return; else if(href.indexOf('?') > -1){ $(this).attr('href', href + '&' + rand); }else{ $(this).attr('href', href + '?' + rand); } });
原理:在URL中加时间戳(或者任意一个随机数)就会保证每一次发起的请求都是一个不同于之前的请求,这样就能避免浏览器对URL的缓存。
二、添加随机数
<script type=”text/javascript“ src=”/js/test.js?+Math.random()“></script>