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

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


当前回答

除了禁用缓存选项(您可以通过开发人员工具窗口右下角的一个按钮--工具|开发人员工具,或Ctrl+Shift+I)之外,在开发人员工具的网络窗格上,您现在可以右键单击并从弹出菜单中选择“清除缓存”。

其他回答

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

目前还不清楚你指的是哪种“缓存”。有几种不同的方法可以让浏览器持久地缓存内容。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的缓存杀手是目前最好的选择。由于安装缓存杀手的商店URL已关闭,您可以在此处下载CRX文件:

https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

下载扩展文件后,打开Chrome->更多工具->扩展,然后将CRX文件从文件浏览器或桌面(取决于下载文件的位置)拖到Chrome窗口中安装扩展。

我只是被抓住了,但不一定是因为Chrome。

我正在使用jQuery发出AJAX请求。我在请求中将缓存属性设置为true:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

将此设置为false修复了我的问题,但这并不理想。

我不知道这些数据保存在何处,但我知道chrome从未在服务器上发出请求。

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

在Canary频道(也许开发和稳定频道也会随之出现),这是“常规”部分左侧的第二个选项。

除此之外,始终可以通过Ctrl+Shift+N切换到隐姓埋名模式,即使不幸的是,这也会结束您的会话。