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 - 仅为本地主机禁用缓存?的主要内容,如果未能解决你的问题,请参考以下文章