我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
按F12拉起Chrome开发者控制台,然后(在控制台打开的情况下):右键单击(或按住左键)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载”
这将超越“硬重新加载”,完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存。你不必打乱设置或任何事情,这是一个快速的一次性解决方案。
其他回答
我只是被抓住了,但不一定是因为Chrome。
我正在使用jQuery发出AJAX请求。我在请求中将缓存属性设置为true:
$.ajax({
type: 'GET',
cache: true,
....
将此设置为false修复了我的问题,但这并不理想。
我不知道这些数据保存在何处,但我知道chrome从未在服务器上发出请求。
事实上,如果您不介意使用带宽,出于多种原因禁用缓存会更安全,许多安全站点都建议您这样做。
Chromium不应该傲慢到做出决定并强制用户设置。
可以使用--disk cache dir=/dev/null禁用UNIX上的缓存。
由于这是意外的,所以可能会发生崩溃,但如果发生了,那么这将明确指出一个更严重的错误,在任何情况下都应该修复。
一般来说,“烦人”的缓存的问题在于框架:)。让我们来看看细节。大多数框架都在.htaccess(os equivalent)中使用去主动重定向所有请求到框架“索引”,
但它同时排除应用程序直接请求的文件和目录。
(例如,对于.htaccess,典型指令如下:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
)
因此,作为图形文件的所有.js、.css文件都不由框架“索引”处理。
这些文件通常在开发期间最常更改。
这就是为什么缓存控件取消激活不应该放在框架“索引”中的原因。
它应该放在.htaccess中。
F.e.用于开发过程:
Header set Cache-Control "no-store, no-cache, must-revalidate"
Header set Pragma "no-cache"
(或者对于连续的工作版本,请使用“Etag”指令-在HTTP参考中查看更多信息。注意,Etag不是用于开发的。
在.htaccess中,没有直接的方法生成用于ETag的随机数(或快速变化的序列,如日期UTC),因为-正如我之前提到的-这不是提供的)。
希望这有助于节省时间。
chrome web商店中有一个名为Clear Cache的chrome扩展。
我每天都使用它,我认为它是一个非常有用的工具。您可以将其用作重新加载按钮,并可以清除缓存,如果您还喜欢cookie、区域设置存储、表单数据等,还可以定义在哪个域上发生这种情况。因此,只需在您选择的域上按下重新加载按钮,就可以清除所有这些垃圾。
非常好!
您也可以在选项中为此定义键盘快捷键!
另一种方法是在隐姓埋名模式下启动铬窗口。在这里,缓存也应该被完全禁用。
我遇到了同样的问题,我试着:
控制换档R,禁用F12中的缓存控制F5。
然后我发现,对非https站点使用.appcache清单是不可取的。我删除了我的site.appcache文件及其在html标记中的引用,现在我看到了每个页面的最新版本!