Chrome - 仅为本地主机禁用缓存?

Posted

技术标签:

【中文标题】Chrome - 仅为本地主机禁用缓存?【英文标题】:Chrome - Disable cache for localhost only? 【发布时间】:2014-07-08 05:47:00 【问题描述】:

我正在使用 localhost 进行开发;我直接包括来自 CDN 的 jquery。

似乎按下“Ctrl + R”会强制页面重新加载,包括从CDN重新下载jquery。

我想问一下是否有可能......当我刷新时,我从CDN保留了jquery的缓存,但清除了我的localhost的缓存?

注意:我知道我可以做的一件事是在本地托管 jquery 文件;我只是想看看有没有办法绕过它。

【问题讨论】:

使用 shift+F5 刷新页面,会强制清除缓存。如果不起作用尝试按几次。 如何保留远程服务器的缓存..? 我认为他想保留它的缓存。未从缓存中清除。在非常慢的互联网上,等待 CDN 很烦人,但是缓存您正在处理的本地文件也很烦人 - 所以混合起来会很好。我现在已经求助于在本地下载 CDN 文件。 【参考方案1】:

您当然可以阻止所有文件进入缓存,但这是一个全有或全无的设置。您无法决定哪些文件从缓存中清除,哪些文件保留在缓存中。

在开发过程中,由于您使用的是 Chrome,我建议启用“禁用缓存(在 DevTools 处于打开状态时)”的设置:

如果你和我一样,每次打开 DevTools 面板时都会禁用缓存。

您可以做的另一件事是指示您的服务器完全绕过所有资源的缓存。由于 jQuery 来自 CDN,因此此无缓存设置不适用于它。要禁用资源缓存,您可以包含以下响应标头:

Cache-Control:no-cache, no-store

【讨论】:

对于当前版本的chrome“61”,此功能移至开发者工具。要激活它,您必须转到:更多工具 > 开发人员工具 > 网络“选项卡”,然后单击禁用缓存。请注意,这仅在开发者工具打开时有效。【参考方案2】:

如果您使用的是 Apache,您可以通过将 .htaccess 文件放入您的 htdocs 目录(或您要为其禁用缓存的目录)中来禁用服务器(本地主机)上的缓存,其中包含以下内容:

FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>

【讨论】:

【参考方案3】:

在浏览器中,使用这个刷新页面:Ctrl+Shift+R

这将忽略缓存(而 Ctrl+r 将使用缓存)。

yw :)

【讨论】:

谢谢。我浪费了半个小时试图清除缓存(我不想清除我的历史记录)【参考方案4】:

Ctrl+Shift+i打开开发者工具,然后进入network标签,点击Disable cache

【讨论】:

【参考方案5】:

你也可以按住刷新按钮,弹出三个选项的菜单:

【讨论】:

【参考方案6】:

方法一(我的最爱)

我使用这个 chrome 扩展。请注意,您必须先进入扩展选项并添加要禁用缓存的站点的 URL。

扩展链接 - https://chrome.google.com/webstore/detail/no-cache/ogbfmfambmmhfdpfokohebghmcdbodbh

方法二

您可以按 Ctrl+Shift+R 进行硬重新加载,这将在没有缓存的情况下重新加载。

【讨论】:

以上是关于Chrome - 仅为本地主机禁用缓存?的主要内容,如果未能解决你的问题,请参考以下文章

Apache禁用本地主机重定向

如何将我的 WAMP 本地主机从 firefox 移动到 chrome?

本地主机不工作 - vs 代码中的 chrome 扩展

chrome不允许本地主机来源

本地主机在 chrome 和 firefox 中不起作用

虚拟主机因隐私错误在 Chrome 上被阻止