如何强制刷新而不在Google Chrome浏览器中缓存?[重复]


307

这个问题已经在这里有了答案:

Chrome是否具有与Firefox的Ctrl + F5刷新等效的功能?我似乎找不到一个。

昨晚我更改了我的图形界面,在Ctrl + F5刷新后可以在Firefox中看到新的图形界面,但是Chrome似乎顽固地挂在了旧的图形界面上。我想我可以手动清除缓存,但是如果有键盘命令可以做到这一点,我想知道它是什么(因为这对Web开发也很有帮助)。


18
单击CTR + R,然后按CTRL + F5,一次或两次-通常可以解决问题。或在开发人员工具-> Sprog(右下方)->网络-禁用缓存中禁用缓存。重新加载页面并尝试禁用该页面。
Piotr Kula 2012年

1
伟大的新功能添加到Chrome迫使硬刷新- superuser.com/a/512833/92862
鸡舍

Answers:


197

Chrome文档指出Ctrl+ F5Shift+ F5应该执行“重新加载当前页面,而忽略缓存的内容。”

如果它不起作用,则可以提交一个错误报告,但似乎很多其他人都遇到了同样的问题。

[关于此问题的现有错误日志]作为重复项关闭,该问题仍然存在:

[ 问题:94090 ]


1
看起来这可能部分是Gravatar的错。在我图片的标题中,他们正在发送Last-Modified: Fri, 20 Jun 2008 12:25:23 GMT。我认为这要么是我上传旧Gravatar的日期,要么是我注册Gravatar的日期。浏览器必须看到这一点,并在想:“哦,这个新文件的最后修改日期是相同的,因此我将仅使用缓存的文件。” 如果Chrome在忽略缓存的刷新上执行此操作,则是一个错误,但是对于Gravatar来说,发送错误的最后修改也是一个错误。我已经联系了双方。:)
Kip

4
我从javascript异步加载脚本,即使在ctrl-f5等之后,Chrome似乎仍继续使用缓存的版本。清除缓存是可行的。但是另一种解决方案是打开隐身窗口(ctrl-shift-n),因为它将以隐身模式使用缓存。
牛头人

3
Haha Chrome是超级缓存的,我能克服的唯一方法是至少按两次Shift + F5键(真的)。
HalilÖzgür2012年

1
Chrome小组对于坐在错误队列中超过2年的此类错误感到尴尬。我非常失望。
布莱恩·韦伯斯特

2
绝对不行。Chrome有时可能会吸得如此厉害。
iconoclast

200

在打开的开发人员工具(Ctrl+ Shft+ I+ + I)中:

  1. 选择网络标签
  2. 激活禁用缓存复选框。
  3. 请勿关闭开发人员工具-否则将重新启用缓存。

在此处输入图片说明


对我不起作用,不得不使用隐身模式。
安东尼·斯塔布斯

4
但是为什么没有快捷键来触发呢!
合作社2012年

7
请注意,仅在打开开发人员工具时禁用缓存。如果关闭它,则缓存将再次处于活动状态。
Icode4food 2012年

即使激活了“ 禁用缓存”复选框并打开开发人员工具,F5和Shift + F5似乎仍然存在差异。我网页上的ajax调用的行为有所不同,具体取决于刷新的种类,我还不知道为什么。
Stefan

3
在较新的开发人员工具中(也可以由F12触发),可以在“网络”选项卡中找到“禁用缓存”设置。
2016年

98

在Mac上,是Shift + Command + R,或者在单击重新加载按钮的同时按住Shift(与Command + R或常规单击以进行常规刷新相反)。

一些更多的细节:

对于Shift + Command + R,将仅忽略缓存,并且像不存在缓存一样请求资源。

对于Command + R,即使是实际缓存的内容,Chrome也会向Web服务器发出If-Modified-SinceEtag请求。对于大多数(如果不是全部)内容,服务器应使用响应。对于大多数(如果不是全部)现代浏览器,这都是正确的。304 Not Modified

唯一依赖缓存(在没有浏览器的情况下甚至不要求进行可能的更改的情况下)的唯一方法似乎是单击网页上的链接,或者通过添加书签的链接,或者进入URL位置栏并点击Return( Command + L,返回)。

但是:Chrome中一个长期存在的已知问题,Chrome强制刷新不会忽略缓存(并且最新的Reload / Refresh不会刷新),或者实际上不是WebKit的功能,即使插入的文档位于重新加载,使Chrome在使用上述方法时无法清除所有相关的缓存。一位Chromium开发人员解释说

开发人员工具的“网络”选项卡显示所有资源在加载时的瀑布图。右侧有两条垂直线...悬停时,其中一条标记为“ Load event fired”。此后加载的任何内容都不是页面的正式组成部分(一个页面可以持续发出请求数小时),因此使用f5的任何组合都不会“刷新”它。这是设计使然。 缓存[任何资源,在“加载事件触发”行之前和之后
]的
缓存由响应的HTTP标头决定,而不是由发出请求的时间决定。

请注意@ChromiumDev的推文

Chrome DevTools的“禁用缓存”会使磁盘缓存无效(非常适合开发!),但是..仅在可见devtools的情况下。


感谢您的详尽回答。对于观众来说可能太技术性了,但我非常重视。
sholsinger 2011年

Command-Shift-R在当前的Chrome稳定版中无法运行。
Olivier

在我的Mac @olouv上似乎工作正常。您是否浏览过开发者工具的“网络”标签?(的确,在这个站点上,Chrome仍然会向其发出一些资源If-Modified-Since,但是这些资源是由JavaScript而不是HTML解析器请求的。此外,由于页面本身的缓存设置为一分钟,也许服务器时间和本地时间之间的细微差异也可能搞砸了?)
Arjan 2012年

注意,请注意已有两年的历史了,但仍然是Chrome中的最新错误:Chrome强制刷新不会忽略cache
Arjan 2012年


15

这个问题有点老了,但是在最新版本的Chrome中

  • 打开Developer tools使用F12Ctrl+ Shift+I
  • 右键单击“刷新”按钮,然后选择“ 清空缓存”和“硬性重新加载”

这将绕过缓存并完全重新加载页面。

该文档说Ctrl+ F5Shift+,F5但不幸的是,到目前为止,该错误仍未解决:-(


1
顺便说一句:这是仅Windows。(我读过它仅在开发人员工具打开时才可用吗?)
Arjan

2
正如您所说的,仅在打开开发人员工具时有效。
mgkrebbs 2013年

您也可以在按住刷新按钮的同时按住SHIFT键
Bolli

9

我的服务器上有文件(图像和完整的html页面)得到更新,chrome中的任何按键组合似乎都无法强制获取它们。

当我需要强制刷新时,我依靠chrome的隐身模式-CTRL-SHIFT-N。

请注意,在隐身窗口内,按CTRL-R或CTRL-F5似乎也不起作用。您必须关闭并重新打开隐身窗口-因此,我依赖快捷方式-CTRL-W关闭,CTRL-SHIFT-N重新打开。


我是说,您的意思是“重新打开隐身标签页”,而不是窗口?
mgol 2012年

1
有趣的是,对我来说CTRL-SHIFT-N会打开一个新窗口,而不仅仅是一个选项卡-并非总是这样吗?
丹尼尔·吉尔

6

像其他浏览器一样,在Chrome中绝对没有简单的方法可以做到这一点。该文档可能会说CTRL + F5或SHIFT + F5应该重新加载并忽略缓存,但事实并非如此。我有一个Flash幻灯片演示,它将设置/配置存储在.xml文件中,并且在更新XML文件后,Chrome浏览器仍会加载缓存的版本,除非我清除缓存。更新幻灯片时,我总是必须运行另一个浏览器,因此不必一直清除Chrome缓存。


5
Flash缓存与Chrome完全不同。
约书亚

@Joshua除非这个家伙声明,否则它可以在其他浏览器中运行,但不能在Chrome中运行。不要忘了Chrome浏览器自带了自己建造的Flash播放器。
卡米洛·马丁

@CamiloMartin ...也有自己的单独缓存。等等...您对2年以上的帖子有认真的回应吗?啊。我上了诱饵。
2012年

@Joshua哦,您是对的,我没有意识到:)
Camilo Martin

4

Ctrl-Shift-Delete将允许您删除前一个小时的缓存。这样可以确保下次您重新加载网站时,它是新鲜的。


4

绝对是Chrome中的错误-还是应该更改图片,但即使反复按Ctrl+ 也会使用旧图片F5

我试图更改Google Apps徽标,但是在Gmail上更改徽标的唯一方法是使用隐身模式或清除整个缓存。Ctrl+ F5保留旧徽标。


3

我做到了:右键单击FRAME(不同步),然后SHIFT单击“重新加载框架”选项。然后,框架会正确刷新。


对我
没用

3

要清除明确指定的应用程序缓存,请导航至chrome://appcache-internals/chrome并删除特定网站的缓存。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.