动态CSS缓存问题
本文关键字:问题 缓存 CSS 动态 | 更新日期: 2023-09-27 18:01:30
我正在使用HttpHandler来修改一些CSS(只有简单的颜色),基于我在SO上读到的一种技术。
一切工作都很好,除了在我给用户选择指定他们想要的颜色的页面上。理想情况下,只要用户保存他的新颜色和页面刷新,我希望新的颜色显示。但是,只有当我明确地按下浏览器重新加载或F5键时,它们才会出现。
我很感激某个地方(IIS或浏览器)正在做一些有用的缓存我的样式表,其中999次在1000正是我想要的,但是在这个特定的页面事件,我希望能够强制重新加载并导致HttpHandler触发。
有人明白这是如何工作的,我能做什么?
我尝试过的事情:
Response.Clear();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Expires = -1;
Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
因为我也在使用ASP。在样式表链接中添加查询字符串并不是一个简单的选项。
的想法吗?
这可以通过我在我的站点上使用的技术来解决,一旦资产发生变化,例如在部署之后,就会重新加载资产。
将?value
附加到CSS url的末尾,其中value
对应于版本,或浏览器尚未看到的一些唯一值。在我的情况下,我使用文件修改时间,但是在您的情况下,由于CSS在几乎每个页面加载上都是动态的,我建议生成一些唯一的值。
由于URL总是不同的,浏览器总是会重新加载它,它永远不会被放入它的缓存