如何阻止浏览器缓存静态资源?本篇文章就给大家介绍阻止浏览器缓存静态资源的几种方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
为什么需要避免浏览器缓存?
工作中很多场景都需要避免浏览器缓存,例如:当我们对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文件将永远得不到缓存,每次都必须重新从服务器加载,即使没有任何更改。
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
以上是如何避免浏览器缓存静态文件的详细内容。更多信息请关注PHP中文网其他相关文章!