欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何避免浏览器缓存静态文件

程序员文章站 2022-03-19 10:03:28
...
如何阻止浏览器缓存静态资源?本篇文章就给大家介绍阻止浏览器缓存静态资源的几种方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

如何避免浏览器缓存静态文件

为什么需要避免浏览器缓存?

工作中很多场景都需要避免浏览器缓存,例如:当我们对css,js,图片等进行改动,在刷新网页,但却根本没有效果,这就是因为有缓存的原因。

因此,当我们可能要经常改动的 js,css时,就需要阻止浏览进行缓存。

如何避免浏览器缓存缓存静态文件?

下面我们就来介绍阻止浏览器进行缓存的方法:

1、请求时想要禁用缓存, 可以设置请求头:

Cache-Control: no-cache, no-store, must-revalidate

2、 增加版本号

给请求的资源增加一个版本号,这是一种常用做法,例:

<link rel="stylesheet" type="text/css" href="../css/style.css?version=1.8.9"/>
<script type="text/javascript" src="../js/jquery.min.js?version=1.7.2" ></script>

这样做的好处就是:这真正做到了应该缓存的时候缓存静态文件,可以*控制什么时候加载,并更新缓存最新的资源。

3、使用HTML禁用缓存

HTML也可以禁用缓存, 即在页面的head标签中加入meta标签。例:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>

说明:虽能禁用缓存, 但只有部分浏览器支持, 而且由于代理不解析HTML文档, 故代理服务器也不支持这种方式。

4、使用随机数

下面我们通过简单实例来看看如何使用随机数避免浏览器缓存

// 方法一: 
document.write( " <script src='jquery.min.js?rnd= " + Math.random() + " '></s " + " cript> " )
 
// 方法二: 
var  js = document.createElement( " script " )
js.src = " jquery.min.js " + Math.random()
document.body.appendChild(js)

注:如上例,如果采用随机数的话,则 js文件将永远得不到缓存,每次都必须重新从服务器加载,即使没有任何更改。

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上就是如何避免浏览器缓存静态文件的详细内容,更多请关注其它相关文章!

相关标签: 浏览器缓存