我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。

如何临时禁用缓存或以某种方式刷新页面以查看更改?


当前回答

F12打开Chrome DevToolsF1打开DevTools设置选中禁用缓存(当DevTools打开时),如下所示:

这当前位于默认的“首选项”选项卡上。您可能需要向下滚动。自提出此问题以来,此复选框已至少移动了几次。我最后一次检查时,它在底部的中间列中。如果在较薄的屏幕上打开它,并且“首选项”下有两列,则它可能位于右上角附近。如果有任何更改或评论,请随时更新此帖子,我将更新此帖子。

其他回答

我的情况是,浏览器从磁盘加载缓存数据,即使我检查了禁用缓存(我使用的是Chrome)。我所有的CSS和JS都是从服务器加载的,而不是网页。这发生在我的本地和生产部门。

为了解决这个问题,我需要在URL中添加一个额外的参数,以迫使浏览器从服务器获取网页,即使控制器不需要它。

我使用的是ASP.Net,所以这里是我的示例:

//Controller function
public ActionResult Index()
    {
        return View();
    }
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

结果是,它将生成如下链接:http://www.myweb.com/Home/Index?ts=636558555408282209

这是我的处境和解决方案。希望它能帮助一些人。

我已经使用了上面描述的其他选项,但我发现最好的方法是在chrome.exe的启动中添加以下参数。

“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”--磁盘缓存大小=1-媒体缓存=1

我发现不禁用媒体缓存是一个好主意,但出于完整性的考虑。

实际上,我想要一个完全禁用缓存的选项,将内存用于IO而不是磁盘(这也会使加载时间快10倍!),但我认为chrome或任何浏览器都还没有这个选项。

将这串代码添加到您的中,它应该会成功。

<meta name="robots" content="noarchive">

事实上,如果您不介意使用带宽,出于多种原因禁用缓存会更安全,许多安全站点都建议您这样做。

Chromium不应该傲慢到做出决定并强制用户设置。

可以使用--disk cache dir=/dev/null禁用UNIX上的缓存。

由于这是意外的,所以可能会发生崩溃,但如果发生了,那么这将明确指出一个更严重的错误,在任何情况下都应该修复。

如果您使用的是ServiceWorkers(例如,对于Progressive web应用程序),您可能也需要在开发工具中的应用程序>ServiceWorkers下选中“重新加载时更新”。