强制客户端使用未缓存的资源

时间:2018-08-11 22:06:13

标签: javascript angularjs caching browser-cache cache-control

我有一个Angular JS应用程序,可以运行生产环境并定期进行包含新功能的部署。

我的应用程序有大量回头用户,并且由于该应用程序本质上只是一个JS文件,因此在其设备上运行的JS通常是缓存的版本。有时这是一个问题,因为新功能可能无法向后兼容。

我知道一种强迫浏览器下载资源的新版本的方法是在src中放置随机URL参数。

<link rel="stylesheet" type="text/css" href="theme.css"> <!-- cached -->
<link rel="stylesheet" type="text/css" href="theme.css?8f834giywe"> <!-- uncached -->

但是由于某种原因,这在我的角度应用程序中不起作用。

<script src="./app/js/app.min.js"></script> <!-- cached -->
<script src="./app/js/app.min.js?43gt4gf342"></script> <!-- broken -->

该应用程序已加载(不是服务器级问题),但立即中断。

enter image description here

任何人都可以想到导致此无效的任何原因吗?

是否还有其他选择可以强制客户端下载新副本或资源而不使用缓存版本?

1 个答案:

答案 0 :(得分:0)

尝试将以下行添加到HTML的Header部分:

<meta http-equiv="CACHE-CONTROL" content="NO-CACHE">

这对我有用,无需使用URL。