我有一个相当麻烦的问题,我还没有找到一个好的解决方案。防止浏览器缓存在Web应用程序升级
我允许通过浏览器缓存所有应用程序静态文件(JS,CSS和图像)以提高性能。
问题是,当我进行升级时,用户仍然使用缓存中的旧版本,这往往会破坏应用程序,并且需要每次清理缓存以解决问题。
是否有任何好的多浏览器方法,仍然允许缓存文件,但可以强制在需要时重新加载它们?
感谢您的任何信息。
我有一个相当麻烦的问题,我还没有找到一个好的解决方案。防止浏览器缓存在Web应用程序升级
我允许通过浏览器缓存所有应用程序静态文件(JS,CSS和图像)以提高性能。
问题是,当我进行升级时,用户仍然使用缓存中的旧版本,这往往会破坏应用程序,并且需要每次清理缓存以解决问题。
是否有任何好的多浏览器方法,仍然允许缓存文件,但可以强制在需要时重新加载它们?
感谢您的任何信息。
附加somethign作为参数,例如, myresource.css?version=1
。该文件将被正确地加密,这是强制重新加载缓存的一个技巧。您只需要动态生成html页面。
我听说过要在用户缓存的文件名中使用版本号,但我不能说与其他选项相比“好”。
选项我能想到的:
+1。这就是.Net在使用嵌入式Web资源时所做的。 – David 2010-01-12 17:07:33
这个问题似乎涵盖了更多细节的主题:http://stackoverflow.com/questions/118884/what-is-an-elegant-way-to-force-browsers-to-reload-cached-css-js-文件 – ewernli 2010-01-12 17:10:23
嗨。 感谢您的链接,它似乎给了一个非常透彻的解释。 另外,为了理解你自己的解释,是否需要将版本参数永久保存在链接中,然后每次升级版本时都会增加(如在发布的链接中)? 再次感谢。 – SyBer 2010-01-12 17:39:46