我有一个非常麻烦的问题,我还没有找到一个好的解决方案。
我允许浏览器缓存所有应用程序静态文件(JS,CSS和图像)以提高性能。
问题是,当我进行升级时,用户仍然使用缓存中的旧版本,这通常会破坏应用程序,并且每次都需要清除缓存以解决问题。
是否有任何良好的多浏览器方法仍然允许缓存文件,但可以强制在需要时重新加载它们?
感谢您的任何信息。
答案 0 :(得分:7)
将某些内容附加到URL作为参数,例如myresource.css?version=1
。该文件将正确提供,这是强制重新加载缓存的技巧。您只需要动态生成html页面。
答案 1 :(得分:0)
我听说过在你希望用户缓存的文件名中使用版本号的说法,但我不能说与其他选项相比有多“好”。
答案 2 :(得分:0)
我能想到的选项:
答案 3 :(得分:0)
您可以使用以下格式进行自动随机版本控制
表示js文件:
<script type="text/javascript" src="js/app.js?seq=<%=DateTime.Now.Ticks%>"></script>
和css文件:
<link rel="stylesheet" type="text/css" href="Styles/styles.css?seq=<%=DateTime.Now.Ticks%>" />