【问题标题】:chrome cache removal for single files单个文件的 chrome 缓存删除
【发布时间】:2022-02-11 04:47:04
【问题描述】:

最近我不得不删除我的整个缓存才能查看我正在处理的网页。我猜这很好,但可以通过从缓存中删除特定页面来改进它。 chrome.browsingData.remove,似乎没有指示要删除的单个页面的选项。我想知道这是否可以在外部完成,但我不熟悉铬代码。我还想知道 chrome.browsingData.remove 实现是否有任何计划的更改。 非常感谢

【问题讨论】:

  • 我也想知道这个。我正在使用一个沉重的UI框架,每次刷新我的js时,都需要重新加载这个UI框架......

标签: google-chrome-devtools


【解决方案1】:

要删除单个文件缓存,请将其 URL 输入浏览器并进行硬刷新。

【讨论】:

  • 似乎你也可以通过右键单击开发工具网络选项卡中的行然后选择“清除浏览器缓存”来完成
  • 我在 2018 年找不到这样的选项,但现在有它很好。 @JohanBergens
  • @JohanBergens 不幸的是,这会清除缓存中的所有文件,而不仅仅是选定的文件
【解决方案2】:

如果您正在处理网页并希望避免缓存(顺便说一句,建议这样做!:) 您现在可以在 Chrome DevTools 中执行此操作。 转到设置(右下角的图标)并单击它。 然后,您将有一个选项“禁用缓存” - 标记它就完成了。

当您完成工作后不要忘记返回此状态,因为 chrome 的缓存架构会更快。

【讨论】:

  • 这不是我的想法。虽然我也不熟悉 chrome 开发工具使用的缓存方案。也许这是一个令人困惑的标签,但它是我能找到的关闭标签。我指的是 chrome.browsingData.remove 过程,它可以在扩展中使用来删除整个 chrome 缓存,或者一个都没有。
  • 这种行为似乎已经改变。请参阅下面的答案。
  • 我会检查更新的答案。当然单文件缓存问题还没有解决……
  • 新功能不断出现:D。在打开 devtools 的情况下也似乎在 chrome 中,您可以右键单击刷新按钮以获取额外的缓存选项。谢谢谷歌
【解决方案3】:

在 Chrome DevTools 中,您应该点击 Dev Tools 设置,然后选择 “禁用缓存(在 DevTools 打开时)”。这是页面上的第一个选项。

请注意,这些设置不是主要设置,而是特定于开发工具的。

您可以在要调试的网页上按 F12 或按 Ctrl-Shift-I 访问 DevTools。

【讨论】:

  • 但这不能从缓存中移动特定页?
  • 不,我不相信这是可能的。要么全有,要么全无。
【解决方案4】:

2022 年 2 月 10 日编辑:访问远程开发工具文档,了解一整套可用于在开发时覆盖缓存文件的工具: https://developer.chrome.com/docs/devtools/storage/cache/

如果您尝试清除 HTTP 缓存数据,这是帖子中的原始问题,那么网络日志是可能的。指南在这里: https://developer.chrome.com/docs/devtools/network/#load

首先找到该文件,然后通过右键单击释放其缓存的内容: https://developer.chrome.com/docs/devtools/network/reference/#clear-cache

【讨论】:

  • chrome://cache 似乎不再可用。
  • 是的,从那以后发生了很多变化,我会相应地更新评论
【解决方案5】:

如果您是动态构建页面,那么在开发过程中,您可以在用于加载脚本的 URL 末尾放置一个随机字符串。

<script src="path/to/script.js?_=<%=Math.random()%>"></script>

这将导致该文件的缓存未命中,但会将缓存用于其他所有内容(取决于缓存控制标头等)。只要记住在推送到 prod 之前删除参数!

【讨论】:

  • 这不能回答问题,但它可能是 OP 正在寻找的。为了进一步加快速度,您很可能希望 ?_=&lt;? filesystem_query_and_find_edit_time_here ?&gt; 缓存文件直到它们被更改,然后更新它们并重新缓存它们。
【解决方案6】:

更新:2019, April 20

最近,我正在与Chrome browser's inbuilt feature - Overrides 合作。有了这个功能,我们可以直接在控制台中为HTML, CSS, JS, etc编写代码,并在网页上看到。

Here's a tutorial that might be helpful


上一个答案:

我正在与Google Chrome extension Resource Override 合作。

安装此扩展后,我将从server 而不是cache 覆盖我想要的资源:

第 2 步:覆盖您想要从服务器更新的资源:

Important Note - 从developer-console而不是browser访问插件

⭐⭐ 我从这种方法开始,但已经转向 Lukas Greblikas 在answer above 中建议的方法。

祝你好运……

【讨论】:

  • 使用上面的技术和扩展,我无法让缓存在一个文件上破坏。
  • @jktravis,你能在developer console 中查看你的network-tab 吗?理想情况下,您覆盖的文件应该有带有?v=1 的文件。
猜你喜欢
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 2021-01-21
  • 2012-10-22
  • 1970-01-01
  • 2020-09-10
  • 2016-04-03
  • 1970-01-01
相关资源
最近更新 更多