首页 >web前端 >前端问答 >如何避免浏览器缓存静态文件

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

青灯夜游
青灯夜游原创
2018-12-25 13:05:015756浏览

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

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

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

工作中很多场景都需要避免浏览器缓存,例如:当我们对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=&#39;jquery.min.js?rnd= " + Math.random() + " &#39;></s " + " cript> " )
 
// 方法二: 
var  js = document.createElement( " script " )
js.src = " jquery.min.js " + Math.random()
document.body.appendChild(js)

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

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

以上是如何避免浏览器缓存静态文件的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn