题 禁用Chrome缓存以进行网站开发


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

如何暂时禁用缓存或以某种方式刷新页面以便我可以看到更改?


1434
2018-04-16 23:10


起源


这可能是最糟糕的Chrome漏洞。我浪费了太多时间,想知道为什么事情出错了,只是发现 - 虽然已经强制完全重装^ F5--它使用了一个小时陈旧的资源。 - Glenn Maynard
浏览器应该缓存。请记住,您的用户也将进行缓存 - 因此可能看不到您在网站投放后所做的更改。避免这种情况的方法是对文件进行版本控制。 my_css.css?版本= something_unique。如果浏览器之前没有看过该版本,则会再次下载该文件。例如,something_unique可以是最后修改日期。 - user984003
@ user984003 Ctrl+Shift+R 要么 Shift+R 应该刷新缓存... - Adonis K. Kakoulidis
@ user984003如果我告诉他们不缓存,请不要。是的,缓存破坏版本号非常适合最终版本,因为这是用户正在使用的版本,但是当我构建一个新站点并且我希望看到增量更改时,我不是每次都更改版本号。因此我开发Firefox的原因 - 它具有最可靠的缓存禁用选项! - andrewb
@ user984003是的,浏览器应该在浏览时缓存...在开发时,您需要对此进行更多控制。 - ahnbizcad


答案:


Chrome DevTools可以禁用缓存。

  1. F12 要么 右键点击 和 Inspect Element 打开DevTools。
  2. 现在 点击  Network 在工具栏中打开网络窗格。
  3. 最后,  该 Disable cache 顶部的复选框。

screenshot of development tools panel

请记住,作为一个 鸣叫 来自@ChromiumDev说,这个设置是 只有当devtools打开时才有效

请注意,这将导致 所有 资源正在重新加载。如果您希望仅为某些资源禁用缓存,则可以修改服务器与文件一起发送的HTTP标头。您可以阅读更多相关信息 这里


1817
2017-08-09 18:20



根据我的经验,此设置(以及该面板上的所有设置)仅生效 当开发工具打开时。 - Johann
@Steve这对我不起作用。我没有得到任何更改,即使我有Chrome 19.0.1084.52,我选中了禁用缓存的方框。我尝试打开开发面板。我尝试关闭它。我甚至尝试重新启动浏览器,然后重新启动计算机。它似乎仍然继续给我一个页面的缓存版本。我该怎么办? Chrome之前给了我这样的问题,所以我删除了与我的电脑关联的所有内容,然后安装了chrome。它修复了大多数事情,例如“永久加载历史记录选项卡”。我想它仍然不起作用。 - Tgwizman
Command = Shift-R for mac = | - holms
这是关键......“只有当devtools可见时才会这样。” - Justin Ohms
我发现在更改设置后刷新当前页面时这不起作用。只有当我离开然后又回来时才开始工作。 - Matt Gibson


enter image description here

当您需要每小时清理缓存30次时清除缓存太烦人了。所以我安装了一个名为的Chrome扩展程序 经典缓存杀手 在每个页面加载时清除缓存。

Chrome Store Link(免费) (现在没有恶意软件!)

现在我的模拟json,javascript,css,html和数据刷新 每次 上 每页加载

一世 决不 如果我需要清除缓存,我不得不担心。

我找到了大约20个用于Chrome的缓存清理程序,但这个看起来很轻巧且省力。在更新中,Cache Killer现在可以保持“始终开启”状态。

注意:我不知道插件作者的任何方式。我发现它很有用。


230
2017-08-02 21:46



缓存杀手很棒。 +1 - nbrogi
这是最好的答案。因为我们中的许多人没有能力使用开发工具。我使用PHPStorm,只有在dev工具关闭时才有实时更新。所以我只在调试时使用它... - Friend of Kim
我同意最好的答案。我每天都使用此扩展程序进行Web开发。很高兴能够在开发过程中完全关闭缓存,然后将其打开进行测试。高度重新开始。 - mbokil
是的,Chrome Dev Tools选项对我来说似乎不起作用。但缓存杀手就像一个魅力。重新加载时间明显变慢,如4-5倍,但实际提供的新内容显然要快得多。 - Bryce Johnson
由于恶意软件而从Chrome扩展程序商店中删除:(替代品? - Semyon Vyskubov


Picture of reload menu

  1. 按下拉起Chrome开发者控制台 F12 然后(打开控制台):

  2. 右键单击(或按住左键单击)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载”。

这将超出“Hard Reload”以完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存。你不必弄乱设置或任何东西,这是一个快速的一次性解决方案。


184
2018-01-22 15:29



@DatProgram不,它在Linux上也适用于我。 - slhck
好吧,它绝对不能在Mac上工作,但我点击了具有各种键组合的重新加载按钮;) - MJB
什么是硬重装? - ManirajSS
它也不会清除页面内iframe的缓存。 - Pablo Mescher
不确定这是多久,但从Chrome 41开始,如果您打开了开发人员工具窗口,请单击并按住重新加载按钮在OS X上运行。 - Tim Keating


还有两个选项 在Chrome中禁用页面缓存

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

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

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

将... chrom.exe“之后的部分更改为此值: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

例: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

重要:

  • 有一个空格和连字符... chrome.exe“

  • 保留chrome.exe的路径

  • 如果您复制该行,请务必检查,如果报价是实际报价。

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

右键单击Chrome图标,然后在上下文菜单中选择“属性”。 将以下值添加到路径: –disk-cache-size=1

例: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

重要:

  • 有一个空格和连字符... chrome.exe“

  • 保留chrome.exe的路径


35
2017-08-05 13:42



使用代码标签使您的答案更具可读性。我认为这可能是最好的答案之一。 - ThorSummoner
好答案。虽然对于大多数人来说,在开发过程中禁用缓存只是暂时的事情。永久禁用它会显着降低正常的浏览体验,并且会降低互联网公民身份,因为它会给您访问的Web服务器带来不必要的负担。 - danielson317


如果您不想编辑Chrome的设置,则可以使用隐身模式获得相同的结果。


22
2018-04-03 01:33



我无法理解为什么我之前没想到这个解决方案......好点! - Flo-Schield-Bobby


除了禁用缓存选项(您可以通过开发人员工具窗口右下角的按钮访问 - 工具|开发人员工具,或者 按Ctrl + 转移 + 一世),在开发人员工具的网络面板上,您现在可以右键单击并从弹出菜单中选择“清除缓存”。


20
2017-09-15 15:47



@Andrea很好!我甚至不知道键盘格式化选项存在! - Tim Keating


  1. F12 打开Chrome DevTools
  2. F1 打开DevTools设置
  3. 检查 禁用缓存(当DevTools打开时) 如下所示:

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

enter image description here


19
2018-03-31 16:38



这与在F12 Chrome Devtools上直接检查“禁用缓存”一样,并且在重新启动Chrome时会重置。 - Bogdan Verbenets


在Canary频道(也许是开发和稳定频道将跟随),这可以在“General”部分的左侧找到整体的第二个选项。

Disable Cache in Chrome Canary Channel

除此之外,总是可以选择通过Ctrl + Shift + N切换到隐身模式。即使不幸的是,这也会结束你的会话。


16
2018-03-27 20:28



根据我的经验,这只适用于打开开发工具。我很困惑为什么缓存仍然保留在页面上,直到我意识到我已经关闭了开发工具。设置不会覆盖所有内容,这很奇怪。 - mbokil
隐身模式确实会缓存一些图像和文件。 - GobSmack


而不是打“F5” 刚刚点击:

“Ctrl + F5”


16
2017-11-24 15:56



它也适用于Firefox(不是因为它与这个问题相关,但有人可能觉得它很有用) - Donald Duck