Rumah  >  Artikel  >  hujung hadapan web  >  如何清除浏览器缓存?js的4种方法轻松搞定

如何清除浏览器缓存?js的4种方法轻松搞定

青灯夜游
青灯夜游asal
2018-09-08 17:50:298099semak imbas

当我们每次使用浏览器上网时,都会在本地磁盘保存下一些的缓存文件。这些浏览器上的缓存是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。

本章我们就给大家带来如何清除缓存的4种js方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一:浏览器缓存是什么?       

1.所有的数据都可以存到服务器中,但这样并不高效,当我们访问网页的时候,一会卡顿,二会浪费服务器的存储空间,三会给服务器造成压力

2.浏览器缓存,可以提高网站性能和浏览器的速度,但对于需要经常更新的网页来说,缓存导致用户无法显示更新后的样式

二:如何通过js清除缓存?

1.随机数

1)脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。 即路径或者文件名后的随机数对于文件来说 等价于但浏览器会认为他是 该文件的某个版本!

2)客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用

/* 图片的路径+图片名+随机数=图片的版本号更替 */
$("#pic_code").attr('src','/static/img/verify_code.png'+'?temp=' + Math.random());
/* Math.random() 只能在Javascript 下起作用 */<script type="text/javascript" src="core.js?v=20140829"></script>
/*时间*/
?v=new Date().getTime();

2.meta

在html里head区添加代码:

<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="content-type" content="no-cache, must-revalidate" />
<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT"/>

3.ajax

1)设置属性cache:false,让ajax不调用浏览的缓存。

cache:false

2)用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:

beforeSend :function(xmlHttp){ 
   xmlHttp.setRequestHeader("If-Modified-Since","0"); 
   xmlHttp.setRequestHeader("Cache-Control","no-cache");
  }

4.replace

replace的原理就是用当前页面替换掉replace参数指定的页面

<script language="javascript"> 
             function jump(){ 
                 window.location.replace("b.html"); 
             } 
         </script>


Atas ialah kandungan terperinci 如何清除浏览器缓存?js的4种方法轻松搞定. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn