首页 > 解决方案 > 即使 url 是新的,浏览器也不会下载更新的 css、js 等

问题描述

我在 asp.net mvc 4 中开发了一个 Web 应用程序,我在其中提供一些资源文件,如 css、js、图像等。

为了始终提供更新的文件,我在查询字符串中附加了一个随机字符串。当我发布我的应用程序时,该查询字符串值会发生变化。因此,每个发布活动都会更改该字符串。

但是即使更改了 URL,浏览器也不会下载文件。浏览器第一次下载文件并始终从缓存副本中提供服务。下面是我的代码。

<script src="~/Content/js/userdefined/dashboard.js?t=@Constants.RandomString" defer></script>

public static class Constants
{
    public static readonly string RandomString = Guid.NewGuid().ToString().ToLower();
}

因此,每次发布应用程序时,它都会生成一个按预期工作的新字符串。

任何人都可以帮助解决这个问题,例如为什么即使 url 发生更改,浏览器也不会下载更新的文件?

标签: htmlasp.netiisbrowser-cache

解决方案


我假设浏览器没有更新,因为它的缓存中已经有信息。当有人更新不直接在 Web 文档内部的 CSS 并且从另一个文件加载时,许多浏览器都会出现此问题。要完全重置页面的信息,您可以使用 Control + Shift + R 进行硬重置。


推荐阅读