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

问题描述 投票:0回答:7

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

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

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

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

google-chrome browser-cache
7个回答
74
投票

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

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

Disable cache (while DevTools is open)

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

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

Cache-Control:no-cache, no-store

50
投票

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

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

yw:)


6
投票

在 linux/windows 上按 Ctrl+Shift+i 或在 Mac 上按 Option+Command+j 打开开发者工具,然后转到

network
选项卡,然后单击
Disable cache


6
投票

Mac:您还可以按住刷新按钮,弹出包含三个选项的菜单:

Linux: 按 F12 使用开发人员工具。打开 chrome 开发工具后,只需右键单击刷新按钮,就会出现下拉菜单。


5
投票

如果您使用 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>

1
投票

方法1(我最喜欢)

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

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

方法2

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


-3
投票

或者您可以在隐身模式下打开 Chrome 选项卡 Ctrl + Shift + N

© www.soinside.com 2019 - 2024. All rights reserved.