现在的大多数浏览器都有缓存机制,目的是减少客户端的访问次数,减轻服务器的压力。但是在开发工程中或者是版本更新过程中,缓存机制的存在会使得程序版本已经更新,但是效果不能出现的状况,需要开发人员频繁的清除缓存,并不友好,特此总结以下几种方式(以谷歌为例),仅供参考,如有雷同,不甚荣幸。
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 });
|