现在的大多数浏览器都有缓存机制,目的是减少客户端的访问次数,减轻服务器的压力。但是在开发工程中或者是版本更新过程中,缓存机制的存在会使得程序版本已经更新,但是效果不能出现的状况,需要开发人员频繁的清除缓存,并不友好,特此总结以下几种方式(以谷歌为例),仅供参考,如有雷同,不甚荣幸。
1.对于开发者来说,只需要关闭浏览器缓存就可以了。步骤是:浏览器右键打开检查,找到network,下边有Disable cache选项,只要将其打勾即可
2.开发者可以关闭缓存,但是并不能要求所有用户都进行此类操作,此时可以在引用的文件之后拼接随机数或者日期都可以,浏览器就会认为是新的请求,而不会使用缓存中的文件,具体如下(只演示大概思路,具体使用,具体修改):
1 function loadFile(arr) { 2 let now = new Date(); 3 let timestamp = "?t=" + now.getTime(); 4 let head = document.getElementsByTagName("head")[0]; 5 6 if(arr) { 7 arr.forEach(el => { 8 let endStr = el.slice(-3); 9 if(endStr === '.js') { 10 let sc = document.createElement("script"); 11 sc.type = "text/javascript"; 12 sc.src = "../js/"+el + timestamp; 13 head.appendChild(sc); 14 } else if(endStr === 'css') { 15 let link = document.createElement("link"); 16 link.type = 'text/css'; 17 link.rel = 'stylesheet'; 18 link.href = "../css/"+el + timestamp; 19 head.appendChild(link); 20 } else { 21 console.log(el + "链接无法识别"); 22 } 23 }) 24 } 25 } 26 $(function(){ 27 var js_arr=["alert.js","alert.css"]; 28 loadFile(js_arr); 29 });