禁用浏览器中的缓存

时间:2014-08-05 12:41:26

标签: javascript jquery html angularjs caching

我使用角度js视图和路由来在div中加载不同的HTML。 但是当我更改部分html并重新加载时,stil会显示缓存版本。

根据我的研究,这不是由于角度js模板缓存, 因为加载html我试图得到像这个$templateCache.get('loadedPage.html')的缓存HTML,结果是未定义的,所以它不是缓存html的角度js。

然后当我在chrome中看到我可以找到我的html缓存。我尝试了以下

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

但我仍然可以看到浏览器缓存html。

其他任何方式吗?

1 个答案:

答案 0 :(得分:1)

最好在js中添加一些随机查询字符串或数据,以防止在所有浏览器中缓存,

<script type="text/javascript">
document.write('<script src="script.js?'+Math.random()+'"></script>');
</script>