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

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


当前回答

为了使用Chromium在VS代码中进行调试,我将--aggresive缓存丢弃的runtimeArgs添加到launch.json文件中。这消除了所有缓存。刷新时立即显示代码更改。

其他回答

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

目前还不清楚你指的是哪种“缓存”。有几种不同的方法可以让浏览器持久地缓存内容。Web存储是其中之一,缓存控制是另一个。

一些浏览器还具有缓存,与服务工作者一起使用,以创建提供离线支持的渐进式Web应用程序(PWA)。

清除PWA的缓存

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

要列出缓存键的名称,请运行:

self.caches.delete('my-site-cache')

按名称删除缓存密钥(即我的站点缓存)。然后刷新页面。

如果刷新后在控制台中看到任何与工作程序相关的错误,则可能还需要注销已注册的工作程序:

navigator.serviceWorker.getRegistrations()
  .then(registrations => {
    registrations.forEach(registration => {
      registration.unregister()
    }) 
  })

如果你不想编辑Chrome的设置,你可以使用匿名模式来获得同样的结果。

按F12拉起Chrome开发者控制台,然后(在控制台打开的情况下):右键单击(或按住左键)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载”

这将超越“硬重新加载”,完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存。你不必打乱设置或任何事情,这是一个快速的一次性解决方案。

还有两个选项可以永久禁用Chrome中的页面缓存:

1.在注册表中停用Chrome缓存

打开注册表(开始->命令->Regedit)

搜索:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

在…之后更改零件。。。chrom.exe”设置为该值:–禁用应用程序缓存–媒体缓存大小=1–磁盘缓存大小=1-“%1”

示例:“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”-禁用应用程序缓存–媒体缓存大小=1–磁盘缓存大小=1-“%1”

重要:

后面有空格和连字符。。。chrome.exe“保留chrome.exe的路径如果复制该行,请确保检查引号是否为实际引号。

2.通过更改快捷方式财产来停用Chrome缓存

右键单击Chrome图标并在上下文菜单中选择“财产”。将以下值添加到路径:–磁盘缓存大小=1

例子:“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”–磁盘缓存大小=1

重要:

后面有空格和连字符。。。chrome.exe“保留chrome.exe的路径

现在有更好更快的方法(Chrome版本59.x.x):

右键单击重载图标(url字段的左侧),您将看到一个下拉菜单,选择第三个选项:“空缓存和硬重载”。

此选项仅在开发人员工具打开时可用。(注意与选项2的区别:“硬重新加载”-cmd-shift-R)。这里没有清空缓存!